@property中的属性几种修饰类型总结

2018-03-29  本文已影响0人  木昜_J

1、引用方式的修饰

参考:strong和weak指针:https://blog.csdn.net/q199109106q/article/details/8565017

1)、strong

引用计数器加1;

指针指向同一段内存;

2)、weak

引用计数器不会加1;

当指针指向的对象被释放以后,指针指向nil,不会产生野指正

3)、copy

引用计数器加1;

指针指向俩段不同的内存;

可变数据类型被copy修饰以后是不可变的;

4)、assign

引用计数器不会加1;

当指针指向的对象被释放以后,指针指向nil,容易产生野指针

5)、retain

MRC下使用;

引用计数器加1;

指针指向同一段内存;

2、getter=xxx/setter=xxx

1)、getter=xxx

重命名对应属性的getter方法,方法名为xxx;

2)、setter=xxx

重命名对应属性的setter方法,方法名为xxx;

3、nonatomic和atomic

参考:https://www.jianshu.com/p/7288eacbb1a2

简介:对对象执行不同的setter/gettet方法;

1)、nonatomic

线程不安全;

多线程下读写不安全;

效率较高;

2)、atomic

线程不安全;

多线程下读写安全;

效率较高,没nonatomic高

上一篇下一篇

猜你喜欢

热点阅读