一个 101 问题
假设我正在制作汽车数据库,每个汽车对象都定义为:
#import <UIKit/UIKit.h>
@interface Car:NSObject{
NSString *name;
}
@property(nonatomic, retain) NSString *name;
为什么是@property(nonatomic, retain) NSString *name;
而不是@property(nonatomic, assign) NSString *name;
?
我知道这assign
不会像那样增加引用计数器retain
。但是为什么要使用retain
,因为它是对象的name
成员,todo
它的范围是它自己。
也没有其他外部函数会修改它。