In iOS, the properties of a class can have several modifiers that correspond to different property behaviors.
@property (ReadOnly) NSString *ReadOnly;//read-only, non-modifiable@property (ReadWrite) NSString *readwrite;//Readable writable , default@property (nonatomic) NSString *nonatomic;//Non-atomic operation, faster@property (atomic) NSString *atomic;//atomic operation, default@property (strong) NSString *strong;//strong references, default@property (weak) NSString *weak;//weak references, not holding objects//ARC prohibits the use of retain, as with strong//@property (retain) nsstring *retain;@property (assign) NSString *assign;//used to assign a value, the default@property (copy) NSString *copys;//The Copy property represents a deep copy, a full copy of the variable, a new pointer, no copy property, a shallow copy, a copy of the variable pointer, and a shallow copy by default .
There are some special uses:
// The Getter method was renamed Isfinished@property (readonly, getter=isfinished) BOOL finished;
// when the Getter/setter method is automatically generated, the variable is renamed to _myfinished @synthesize finished = _myfinished;
Ios-properties Getting Started