У меня есть одноэлементный объект в моем приложении:Должен ли я освободить объект singleton?
+ (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];
Должен ли я освободить этот объект? У меня есть массив и другие вещи в объекте, которые мне нужно выпустить.
Если это должно продолжаться до тех пор, пока приложение не закончится, нет необходимости в явном выпуске. Хотя, возможно, вы захотите предоставить его просто, чтобы сделать анализатор счастливым. –
Почему мне не нужно его выпускать? у него есть автовыпуск? – MTA
нет, у него нет автореферата (если вы не поставили автореферат). Он будет убит, когда приложение закончится (как и все объекты, все еще в памяти), поэтому память свободна. –