@property的参数 - OC

屏幕快照 2015-08-21 01.57.13.png

MRC模式下:

  • 使用retain的条件:
    在一个类中有关联其他对象的时,set方法的书写
-(void)setCar:(Car *)car{

if(_Car != car){

    [_Car realase];
    _Car = [car retain];
}
}

替换set方法名@property(nonatomic,assign,setter = isVip: ,getter = isSup)

  • 使用assign(默认)的条件:
    实例变量为基本数据类型
-(void)setCar:(Car *)car{

_Car = car;
}

ARC模式下:

  • ARC中的@property
    strong: 用于OC对象,相当于MRC中的retain
    weak: 用于OC对象,相当于MRC中的assign
    assign: 用于基本数据类型,跟MRC中的assign一样
    copy: 一般用于NSString,跟MRC中的copy一样
  • 在ARC下解决“循环retain”的问题:@property一边用strong,一边用weak
MRC ARC
assign assign
retain strong/weak
copy copy
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容