关键字 | 类型 | 作用 |
---|---|---|
strong | 对象类型 | 表示指向并拥有该对象。其修饰的对象引用计数会增加1。该对象只要引用计数不为0则不会被销毁。当然强行将其设为nil可以销毁它。 |
assign | 基础类型 | 这些数值主要存在于栈上,原因是assign修饰的对象被释放后,指针的地址依然存在,造成野指针,在堆上容易造成崩溃。而栈上的内存系统会自动处理,不会造成野指针。 |
weak | 对象类型 | 表示指向但不拥有该对象。其修饰的对象引用计数不会增加。无需手动设置,该对象会自行在内存中销毁。 |
copy | 对象类型 | 表示指向并拥有该对象.对该属性赋值时,会copy原始形参,原始形参retainCount不变,新对象retainCount为1.(补充:可变对象,如NSMutableString,被复制时会变为不可变对象) |
nonatomic | 所有 | 非原子属性.没有读写线程安全,但响应速度快. |
atomic | 所有 | 原子属性.有读写线程安全,但因为自旋锁响应速度降低. |
iOS-strong, weak, assign, copy
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的r...
- 很多人讲属性修饰词的时候,喜欢从字面或者定义的角度介绍它们间的区别。这篇文章,我们侧重从修饰词对setter方法的...
- 系列:iOS开发-strong 、weak、copy 、assign 、retain 无论是在iOS开发刚学习的时...
- @property([描述1] ,[描述2] ,[描述3])<Class *> <propertyName> 下面...
- 前言: 在iOS 开发中 我们经常用到 weak strong retain assign copy 属性的修饰,...