Assuming you have:
1) @interface Car:NSObject{ NSString *name; } //name is private 2)@interface Car:NSObject{ NSString *name; }@property(nonatomic, retain) NSString *name; //name is public //nonatomic means that there is are no problems with multithreading //reatin means that the setter is now owing the new value ; Usually this what will be used. //assign might be used for non object types like BOOL //copy might be used for NSString 3) Adding:@synthesizename //No need to implement getName / setName