我有一个单独的对象在我的应用程序:我是否需要释放单身物件?
+ (id)shared {
@synchronized(self) {
if (sharedDownloadFirstData == nil)
sharedDownloadFirstData = [[self alloc] init];
}
return sharedDownloadFirstData;
}
- (id) init {
if (self = [super init]) {
}
return self;
}
而且我想知道如果我需要realese它(我没有使用ARC)。要做到这一点,我正在使用:
[[DownloadFirstData shared] release];
我需要释放此对象吗?我有一个数组和其他东西在我需要释放的对象中。
如果它应该持续到应用程序结束,则不需要显式发布。虽然你可能想提供一个只是为了让分析仪开心。 – 2013-04-25 18:25:37
为什么我不需要释放它?它有一个自动释放? – MTA 2013-04-25 18:26:26
不,它没有autorelease(如果你还没有autorelease)。它会在应用程序结束时被杀死(就像所有对象仍在内存中一样),所以内存是免费的。 – 2013-04-25 18:32:27