objective c - How to use properties in Obj C -


i trying learn how use properties in ios programming. want check people here if got right?

say have property

@interface person : nsobject  @property nsstring *firstname;  @end 

in implementation

@implementation xyzperson @synthesize firstname; ... @end 

by this,

a) instance variable named: firstname created

b) whenever want use property inside class, call self.firstname (or setter/getter)

c) can initialize property in init method this:

-(id) init {  ...  self.firstname=@"sometext";  ...   } 

i believe points mentioned above, correct, right?

what pretty correct although missing few things @property declaration. need @ least property attribute strong or copy or assign. strings might mutable, use copy ensure string can't modified under us. @property (copy) nsstring *firstname. see answer more details this.

most people use nonatomic improve performance disabling thread synchronization in generated getters/setters. see answer more information.

some people recommend against using property accessors in init method (preferring direct ivar access) because subclasses might have overridden setter/getter , might not work correctly until object initialized. practically speaking need worry lot of people ignore advice.

with latest version of xcode don't have add @synthesize manually - underscore-prefixed instance variable (_firstname in example) synthesized automatically.


Comments

Popular posts from this blog

php - get table cell data from and place a copy in another table -

javascript - Mootools wait with Fx.Morph start -

php - Navigate throught databse rows -