我有一个非常基本的数据类,它是NSObject的子类。我声明了一些字符串,确保它们具有属性(非原子,复制),并合成它们。我实现的唯一方法是dealloc(),它释放我的字符串。这可能会引起任何记忆问题吗?我还需要实施其他方法吗?
答案 0 :(得分:9)
NSObject的子类化是我们一直在做的事情。只需按照内存管理规则,你就可以了。
答案 1 :(得分:4)
如果要设置任何内容,可以实现自定义初始化。
-(id)init {
if (!(self = [super init]))
return nil;
// Set things up you might need setting up.
return self;
}
但是,只有在你打电话给班上任何其他事情之前,你才想做好准备。
只要有一个dealloc方法应该没问题,否则。
答案 2 :(得分:2)
不会有任何问题。子类化NSObject
完全被接受,99%的情况需要。
通过子类化NSObject
,您的子类将接收Cocoa / Cocoa Touch中任何对象所需的所有必需行为。这包括使用retain
和release
等参考计数内存管理系统。
答案 3 :(得分:1)
你做得很好。请务必在子类“[super dealloc]
方法”的末尾调用-dealloc
。