assign:用于“纯量类型”(如CGFloat 或 NSInteger等);

strong:用于“对象类型”,定义了一种“拥有关系”(owning relationship),为这种属性设置新值时,设置方法会先保留新值,并释放旧值,然后再将新值设置上去;

weak:用于“对象类型”,定义了一种“非拥有关系”(nonowning relationship),为这种属性设置新值时,设置方法既不保留新值,也不释放旧值,相当于用另一个属性指向原来的对象,关键在于当属性所指的对象被释放时,该属性值也会清空;

unsafe_unretained:语义和assign相同,但用于“对象类型”,定义了一种“非拥有关系”("不保留",unretained),与weak的区别在于,当目标对象被释放时,属性值不会自动清空("不安全",unsafe);

copy:与strong类似,但其设置方法并不保留新值,而是将其“拷贝”(copy)。

转载于:https://www.cnblogs.com/drbbq/p/5289947.html

property attribute: assign, strong, weak, unsafe_unretain and copy相关推荐

  1. iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别

    依旧本着尊重原创和劳动者的原则,将地址先贴在前面: http://www.cnblogs.com/nonato/archive/2013/11/28/3447162.html,作者Nonato 以下内 ...

  2. iOS学习笔记-retain/assign/strong/weak/copy/mutablecopy/autorelease区别

    readwrite:是可读可写特性,需要生成getter和setter方法: readonly是之都特性,只会生成getter方法,不会生成setter方法,不希望属性在类外改变时候使用: alloc ...

  3. 关于@property()的那些属性及ARC简介【nonatomic,atomic,assign,retain,strong,weak,copy。】

    @property()常用的属性有:nonatomic,atomic,assign,retain,strong,weak,copy. 其中atomic和nonatomic用来决定编译器生成的gette ...

  4. copy, retain, assign , readonly , readwrite,strong,weak,nonatomic整理

    copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString 对NSString 它指出,在赋值时使用传入值的一份拷贝.拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协 ...

  5. Objective-c属性修饰关键字(assign retain copy strong weak)

    一.线程相关: [atomic/nonatomic] (1)atomic[默认属性]:OC使用的一种线程保护技术,是防止在写未完成的时候被另外一个线程读取,造成数据错误.而这种机制是耗费系统资源的,所 ...

  6. 对copy/strong/weak/__weak/__strong/assign的使用场景总结总结

    ARC在编译期间,根据Objective-C对象的存活周期,在适当的位置添加retain和release代码.从概念上讲,ARC与手动引用计数内存管理遵循同样的内存管理规则,但是ARC也无法防止循环强 ...

  7. iOS中copy,retain,strong,assign,weak的区别以及使用

    使用assign: 对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,等) 使用copy: 对NSString 使用retain: 对其他NSObj ...

  8. @synthesize@dynamic@private,@protected,@publicassign、weak、strong、retain、copy、nonatomic、atomic

    iOS属性修饰关键字 1. @private,@protected,@public,@package详解及使用 @privite:私有的,只有本类(不包括子类)自己拥有 @protected:受保护的 ...

  9. @property 各个属性作用【使用时最需注意strong/weak类型】【补充部分内存知识】...

    一. 属性readwrite,readonly,assign,retain,copy,nonatomic 等各是什么作用,在那种情况下用? 1>  readwrite:同时生成get方法和set ...

  10. Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...

    平时用strong.retain.assign.weak这几个关键字的时候,也没有过多的在意,下边就MRC.ARC模式下,每个关键字做一下总结.为了简明期间,采用表格的形式进行展示. MRC ARC ...

最新文章

  1. python3 多进程 multiprocessing 报错 AttributeError: ‘ForkAwareLocal‘ object has no attribute ‘connection‘
  2. linux Makefile 中使用 shell命令
  3. mysql删除root用户密码_MySQL忘记密码 或者误删除root用户有效解决办法
  4. cx_Oracle读写clob
  5. Linuxnbsp;JDK1.4卸载与1.6的安装
  6. re匹配正则字符串中的起始和结束元字符的使用方法
  7. php ismethod,结合php类三种属性说明is_callable和method_exists简单区别
  8. Linux系统服务器停服,Linux系统服务启动和停止
  9. linux cpu不足处理运维,Linux运维知识之Linux服务器CPU占用率较高问题排查思路
  10. 前端自动化构建工具之webpack入门——简单入门
  11. 学术族谱典型用户及典型场景模拟
  12. 主题背景_游戏背景音乐的种类—主题曲
  13. 批量复制或提取CAD中的说明文字为表格
  14. 数据结构和算法知识点整理
  15. codeforces228A Is your horseshoe on the other hoof?(水题)
  16. 从零开始的ZYNQ学习(基于矿卡EBAZ4205)(二)
  17. 小学计算机应用技术学院官网,成都信息技术学院官网
  18. Adobe Photoshop 2021 for Mac 或于2021年1月份发布 PS 2021新功能一览
  19. css样式匹配苹果个型号手机
  20. Android自定义相机镂空遮罩

热门文章

  1. LINUX虚拟机安装增强功能
  2. CMKY与RGB的转换
  3. 解决办法:RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa
  4. 机械表加智能表,双表成为富人标配
  5. 黎曼ζ 函数中的Γ是否与欧拉B函数中的Γ一样
  6. Python3使用PIL
  7. yolov2 损失函数_目标检测算法之YOLOv2损失函数详解
  8. 一文搞懂三种工厂模式
  9. 【springssm加载applicationContext.xml文件的一个坑】
  10. Weex BindingX 尝鲜