博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定义属性的关键字
阅读量:6005 次
发布时间:2019-06-20

本文共 791 字,大约阅读时间需要 2 分钟。

1.strong :除NSString/block以外的OC对象  @property(nonatomic,strong) NSArray  *<#model#>

2.weak:各种UI控件(但不是绝对,也有控件要使用strong属性的)   @property (nonatomic,weak) UIButton *button;

3.assign:CGFloat,NSInteger等基本数据类型、枚举、结构体(非OC对象)   @property(nonatomic,assign) CGFloat <#model#>;

4.copy : 创建的是不可变副本(如NSString、NSArray、NSDictionary)     mutableCopy :创建的是可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)  @property(nonatomic,copy)NSString *<#model#>;

•@property内存管理策略的选择

    •1.非ARC

       • 1> copy : 只用于NSString/block

       • 2> retain : 除NSString/block以外的OC对象

       • 3> assign : 基本数据类型、枚举、结构体(非OC对象),当2个对象相互引用,一端用retain,一端用assign

    •2.ARC

       • 1> copy : 只用于NSString/block

       • 2> strong : 除NSString/block以外的OC对象

       • 3> weak : 当2个对象相互引用,一端用strong,一端用weak

       • 4> assgin : 基本数据类型、枚举、结构体(非OC对象)

 

转载于:https://www.cnblogs.com/luffyKing/p/4893538.html

你可能感兴趣的文章
正则的一个坑
查看>>
OpenCV学习之阈值化
查看>>
使用rabbit mq.模拟dubbo,使MQ异步调用代码写起来像是同步方法.
查看>>
Web Storage
查看>>
jeecg uedit 自定义图片上传路径
查看>>
keepalived实现nginx高可用
查看>>
系统架构师成长之路(一)
查看>>
上传图片
查看>>
Docker ubuntu apt-get更换国内源解决Dockerfile构建速度过慢
查看>>
LINUX下给软件创建桌面图标
查看>>
all-oone-data-structure(好)
查看>>
【转载】使用事件模型 & libev学习
查看>>
是否能在构造函数,析构函数中抛出异常?
查看>>
【Node.js】Stream(流)的学习笔记
查看>>
Linux 的启动流程
查看>>
SQL语句查询某字段不同数据的个数(DISTINCT 的使用)
查看>>
char a[] = "hello world1"和char *p = "hello world2";的区别(转)
查看>>
存储过程中使用事务和try catch
查看>>
Effective_STL 学习笔记(十四) 使用 reserve 来避免没必要的重新分配
查看>>
canvas和图片之间的互相装换
查看>>