Если предположить свойство retain
, то это:
self.myObject = nil;
освободит объект и установит значение свойства nil
.Это также будет сделано через метод установки, возможно, вызывая уведомления KVO.И это:
[myObject release];
будет только освобождать объект, оставляя в свойстве висячий указатель.
Последний обычно используется в -dealloc
, потому что вы нене заботится о значении переменной после того, как объект был освобожден, а также потому, что вы не хотели бы запускать уведомления KVO от разрушаемого объекта.Первый используется почти везде.