3

我有一个非常基本的数据类,它是 NSObject 的子类。我声明了一些字符串,确保它们具有属性(非原子、副本),然后合成它们。我实现的唯一方法是 dealloc() 释放我的字符串。是否会因此而产生任何内存问题?我还需要实施其他方法吗?

4

4 回答 4

9

子类化 NSObject 是我们一直在做的事情。只需遵循内存管理规则,就可以了。

于 2010-03-24T22:09:14.163 回答
4

如果您想设置任何东西,您可以实现自定义初始化。

-(id)init {
    if (!(self = [super init]))
          return nil;

    // Set things up you might need setting up.
    return self;
}

但这只有在你在课堂上打电话给其他任何东西之前你想准备好一些东西。

只是有一个 dealloc 方法应该没问题,否则。

于 2010-03-24T22:10:56.753 回答
2

不会有任何问题。子类NSObject化被完全接受,并且在 99% 的情况下是必需的。

通过子类NSObject化,您的子类接收 Cocoa/Cocoa Touch 中任何对象所期望的所有必需行为。这包括使用引用计数内存管理系统retainrelease

于 2010-03-24T22:10:57.300 回答
1

你在做什么很好。一定要在你的子类方法[super dealloc]结束时调用。-dealloc

于 2010-03-24T23:22:43.363 回答