затем вызывается установщик, который просто устанавливает указатель на nil
, и больше ничего не происходит.
edit : разница между (неатомным, назначить) и (неатомным, сохранить)
Свойство assign
будет устанавливать только указатель, а свойство retain
также вызовет release для старого и сохранит новый объект.
Синтезированный (nonatomic, assign)
-сеттер будет выглядеть так:
-(void) setMyData:(NSString*)value
{
myData = value; //just assigning the pointer
}
И синтезированный (nonatomic, retain)
-сеттер будет выглядеть так:
-(void) setMyData:(NSString*)value
{
[value retain]; // retain new object
[myData release]; // release old object. if myData is nil: nothing happens
myData = value; // assigning the pointer
}
Между получателями нет разницы. Оба просто неатомичны.