ios- object-c(oc)内存管理机制--属性关键字

assign   赋值方式   不复制不保留,直接赋值    基本数据类型和本类不直接拥有的对象   对象应用strong 却用 assign 就会很容易崩

retain   赋值方式   将新值保留一份赋覆盖原值  引用计数加1   大部分对象可使用     相当于浅拷贝,指针复制

copy  赋值方式  将新值复制一份赋覆盖原值    字符串选择性使用.(另外附上 copy 和 strong 的区别 文章:简单来说,copy就是当属性变量名为不可变时,被赋值是进行了浅拷贝,作用相当于retain;为可变时,被赋值是进行了深拷贝,string一般建议用copy)        copy到堆中,以便后用

readwrite   读写权限   生成getter和setter两个方法     变量可读取可修改

readonly   读写权限   只生成getter方法     变量只读不可修改

atomic   原子性原子操作     可以保留在多线程环境下,能安全的存取值

nonatomic   原子性非原子操作     不生成多线程同步内容

getter   存取方法自定义取方法

setter   存取方法自定义赋值方法

strong   强指针

weak   弱指针

ARC下:
strong的含义和retain相同,weak和assign相同,修饰完的属性变量用法也是完全没有改变,不过strong和weak只能修饰对象

注意: 用weak修饰UI控件时,removeFromSuperview 后会释放,而strong不会,但可以使控件=nil释放

推荐文章:iOS - 属性关键字的使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 基础篇介绍了一些关于Objective-C内存管理的常见概念。本文将在前文的基础上扩展以下知识:成员变量se...
    老板娘来盘一血阅读 1,622评论 0 19
  • 昨晚上喝了一些酒,站在在地铁站里,渴望自己能像个幽灵一样四处飘荡,飘到天花板上,随着飞驰的列车冲进黑乎乎的隧道里,...
    豚月阅读 237评论 0 0
  • 金秋十月,寒露时节! 迎着朝阳,在孩子们清脆干净的歌声中我们快乐出发。前往秋天的世界-美丽的红叶谷,跟着孩子们感受...
    棉花糖_2802阅读 464评论 0 0
  • 有时间就思考下项目吧,还有很多需要处理的地方,只是没有暴露出来
    琴鸦阅读 172评论 0 0