Autorelease vs. Выпуск в Dealloc

Я знаю, что Memory Management в IOS сложно, подверглись новичкам, как я, но я надеялся на четкое объяснение здесь на Stackoverflow, который я не мог найти нигде.

Итак, притворяясь, у меня есть собственность / Ивар

@property(nonatomic, retain) UIPopoverController *popOver;

, который я выделяю, как это:

self.popOver = [[[UIPopoverController alloc] initWithContentViewController:popOverContent] autorelease];    

Теперь, в моих методах SaleLoc и ViewDiDUnload, я делаю обоими

// in viewDidUnload:
self.popOver = nil;
// in dealloc:
[popOver release];

:

  1. , если я делаю Nil / Выпуск в viewdidunload / deliLoc, мне действительно нужно автоселять при распределении?
  2. наоборот, если я делаю авторелеку при распределении, мне нужно носиль / релиз позже?
  3. Какая разница, если таковая имеется?

Заранее спасибо за ваше время - я продолжу чтение, серьезно управление памятью не может быть трудно обернуть голову ...

7
задан EmptyStack 3 September 2011 в 13:17
поделиться