我有一个单例类,它在整个项目中只分配一次。下面有几行代码..
宣言... ....
MyClassName *classObject = nil
在 init 方法中,代码如下所示。
-(id) init(){
self = [super init];
if(classObject == nil){
1. Allocate object code here
2. classObject = self;
3. return classObject
} else {
return classObject;
}
}
但我的问题是我将如何释放这个对象。我从所有类中调用这个 init 方法,它每次都返回 classObject 引用。
我的做法……
从 appdelegate.m 中的 dealloc 方法,我正在调用一个在 MyClassName 中定义的函数 (releaseObject)。这是函数体的定义......
-(void) releaseObject {
[self release]; // Confusion: Will it dealloc classObject reference?
[super release];
}
这是个好主意吗?我的问题是在应用程序没有关闭之前我不必释放对象。