retain is to add 1 to the reference count of the attribute
The retain here means that this setter will add 1 to the reference count of the parameter. For example:
self.userName = uName;
At this time, the reference count of uName will be increased by 1.
However, SDK 5.0 and later supports ARC, which means automatic application counting. Therefore, there is no need to retain and copy when defining attributes. Instead, use strong to let ARC manage it.
An article providing apple core for reference: http://pingguohe.net/2011/08/05/llvm3...
retain is to add 1 to the reference count of the attribute
The retain here means that this setter will add 1 to the reference count of the parameter. For example:
At this time, the reference count of uName will be increased by 1.
However, SDK 5.0 and later supports ARC, which means automatic application counting. Therefore, there is no need to retain and copy when defining attributes. Instead, use strong to let ARC manage it.
An article providing apple core for reference: http://pingguohe.net/2011/08/05/llvm3...
Atomic is thread safe and has lower performance than nonatomic. noatomic does not guarantee thread safety.
atomic does not mean thread safety, it just means that set and get operations on the same object are executed sequentially.
The difference between iOS atomic and nonatomic