iOS - Properties 入门

iOS中,类的属性property可以有若干个修饰词,对应不同的属性行为。

@property (readonly) NSString *readonly;   // 只读,不可修改
@property (readwrite) NSString *readwrite;  // 可读可写,默认
@property (nonatomic) NSString *nonatomic;   // 非原子操作,更快
@property (atomic) NSString *atomic;        // 原子操作,默认
@property (strong) NSString *strong;     // 强引用,默认
@property (weak) NSString *weak;        // 弱引用,不持有对象
// ARC 禁止使用retain ,与strong 一样
//@property (retain) NSString *retain;
@property (assign) NSString *assign;  // 用于赋值,默认
@property (copy) NSString *copys;   // copy属性表示深复制,完全拷贝变量,产生新的指针,没有copy属性的话是浅复制,只复制变量指针,默认是浅复制

还有一些特殊的使用:

// 将getter方法更名为isFinished
@property (readonly,getter=isFinished) BOOL finished;
// 自动生成getter/setter方法时,变量更名为_myFinished
@synthesize finished = _myFinished;

 

posted @ 2015-01-17 18:32  月之星狼  阅读(478)  评论(0编辑  收藏  举报