Objective-C 101 (retain vs assign) NSString
问题 A 101 question Let's say i'm making database of cars and each car object is defined as: #import <UIKit/UIKit.h> @interface Car:NSObject{ NSString *name; } @property(nonatomic, retain) NSString *name; Why is it @property(nonatomic, retain) NSString *name; and not @property(nonatomic, assign) NSString *name; ? I understand that assign will not increment the reference counter as retain will do. But why use retain , since name is a member of the todo object the scope of it is to itself. No other