2011-05-03 68 views
0

我的代码是:如何处理Objective-C中单例模式的内存管理?

static Class1 *onlyInstance; 
+(Class1*) getInstance { 
    @synchronized([Class1 class]) { 
    if(onlyInstance == nil) 
    onlyInstance = [[Class1 alloc]init]; 
return onlyInstance; 
} 
return nil; 
} 

如何使用Objective-C中sington模式管理内存?

+0

你的意思是你应该如何清理singleton类? – 2011-05-03 08:56:00

+0

我的意思是说,什么时候和哪里应该释放对象onlyInstance我分配..如何管理这种类型的静态变量创建内存。 – Cathy 2011-05-03 09:02:48

回答

1

这是一个单身人士,你并不需要在任何时候发布它,它应该是在你需要它的时候。

如果你需要释放它,你可以在课堂上做到这一点。

只需发布onlyInstance并将其设置为nil,因此一旦创建它的方法再次被调用,它将重新创建它。

+0

但是因为我回来onlyInstance,我怎么能释放它呢? – Cathy 2011-05-03 10:52:04

+0

autorelease,但你不会需要一个单例,而是一个简单的方法,如+(MyClass *)myClass {return [[[MyClass alloc] init] autorelease]; } – 2011-05-03 11:52:55