我在整个项目中只有一次是分配对象的单例类。几行代码低于..自释放,发布实际对象吗?
声明... ....
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引用。
我的做法....
从dealloc方法在appdelegate.m,我调用一个函数(releaseObject),这是在MyClassName定义。下面是函数体的定义...
-(void) releaseObject {
[self release]; // Confusion: Will it dealloc classObject reference?
[super release];
}
这是好主意的dealloc这个对象?我的问题是,我不必dealloc对象,直到应用程序未被关闭。
作为结构它具有singletone的概念,但它并不完全由类名和实例调用。当我们在模拟器中停止应用程序时,是不是在apdelegate.mm中调用dealloc? –
应用程序终止时 - 操作系统完全释放分配的内存。 – Moonkid