OC-内存管理语义

assign:'设置方法'只会针对「纯量类型」如CGFloat、NSInteger等

strong:表明「拥有关系」,此种属性赋新值时,设置方法先保留新值,并释放旧值,然后将新值赋上

weak:「非拥有关系」,设置此种属性新值时候,既不保留新值,也不释放旧值,此点类似assign,在属性所指向的对象遭到销毁时候,属性值会被置为nil,清空

copy:不保留新值,将其复制,防止对象在不知情情况下遭到修改

unsafe_unretained :语义和assign相同,适用于「对象类型」,「非拥有关系」,当目标对象遭到摧毁时,属性值不会自动清空,这点不同于weak

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

推荐阅读更多精彩内容

  • 29.理解引用计数 Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数...
    Code_Ninja阅读 1,532评论 1 3
  • 南部县城滨江道, 柳林广场建走廊, 蔓藤爬到走廊顶, 白花盛开扑鼻香。
    笨愚阅读 213评论 0 0
  • 风趣的童话谷 逃出一只上天的鱼 他们都猜鱼飞往何处 还说像我教出的学徒 爱吃土豆的狸花猫 其实 喵呜从未撒开腿骨 ...
    圆善阅读 366评论 5 9
  • 雪域高原的古往今来——《吐蕃王朝卷》赤松德赞之鞭——西域、剑南烽烟再起 李泌的连横之计 面对吐蕃在河西、陇右之地咄...
    白发布衣阅读 1,682评论 5 12
  • 昨天发布会一结束,OS X 10.11的GM版本和iOS9的GM版本以及Xcode7都放出来了,我第一时间升级体验...
    HarriesChen阅读 2,760评论 2 7