I have seen readwrite on int, BOOL etc same as nonatomic, assign.
I am some what confused on this. I do know that on non native objects, we typically do nonatomic, retain.
I have seen readwrite on int, BOOL etc same as nonatomic, assign.
I am some what confused on this. I do know that on non native objects, we typically do nonatomic, retain.
Here's the short answer:
atomic
vs nonatomic
primarily ensures that complete values are returned from synthesized getters and that complete values are written by synthesized setters (atomic is default.)
readwrite
vs readonly
determines whether a synthesized property has a synthesized accessor or not (readwrite has a setter and is the default, readonly does not).
assign
vs retain
vs copy
determines how the synthesized accessors interact with the Objective-C memory management scheme:
assign
is the default and simply performs a variable assignmentretain
specifies the new value should be sent -retain on assignment and the old value sent -release
copy
specifies the new value should be sent -copy on assignment and the old value sent -release
.After reading so many Articles, SO posts and made demo apps to check Variable property attributes, I decided to put all the attributes information together
so below is the detailed article link where you can find above mentioned all attributes, that will defiantly help you. Many thanks to all the people who give best answers here!!
Example:
@property (nonatomic, retain) NSString *name;
@synthesize name;
Example:
@property (nonatomic, assign) NSString *address;
@synthesize address;
readonly
Example:
@property (nonatomic, readonly) NSString *name;
@synthesize name;
Example:
@property (nonatomic, readwrite) NSString *name;
@synthesize name;
readwrite
means that both a getter and a setter exist; the opposite is readonly
. Normally the only time you'd explicitly declare a property readwrite
is in a class extension for a class where the public interface declares the property readonly
— so that it's publicly read-only, but internally you can both get and set.