ARC指南3 - @property
来源:互联网 发布:土豆视频mac客户端 编辑:程序博客网 时间:2024/05/18 14:15
转载自:http://blog.csdn.net/q199109106q/article/details/8565561
ARC指南3 - @property
分类: iOS基础2013-02-02 18:02 512人阅读 评论(0) 收藏 举报
ARCArcarciosiOSIOSReleasereleaseretainRetain内存管理
本章介绍引入ARC后@property的使用,跟ARC之前的还是很不一样的
一、.h和.m文件的变化说明
1.对于.h头文件,主要是将属性定义由retain变为strong
- @property (retain, nonatomic)
- @property (strong, nonatomic)
2.在ARC之前,我们经常在.m中使用分类拓展来增加私有的property
- @interface MJViewController ()
- @property (nonatomic, retain) NSArray *data;
- @end
我们可以直接在.m类实现中定义private实例变量,不必写分类拓展了:
- @implementation MJViewController {
- NSArray *data;
- }
- - (void)viewDidUnload {
- [super viewDidUnload];
- data = nil;
- }
二、IBOutlet
在ARC中,所有IBOutlet属性都推荐使用weak, 这些view对象已经属于View Controller的view hierarchy,不需要再次定义为strong。因此,这些定义为weak的IBOutlet属性都不需要在IBOutlet中设置为nil
三、@property的修饰符小结
• strong : 该属性值对应 __strong 关键字,即该属性所声明的变量将成为对象的持有者,等同于"retain"
• weak : 该属性对应 __weak 关键字,与 __weak 定义的变量一致,该属性所声明的变量将没有对象的所有权,并且当对象被释放之后,对象将被自动赋值nil,记住IBOutlet应该使用weak
• unsafe_unretained : 等效于__unsafe_unretaind关键字声明的变量,等同于之前的"assign",iOS 5之前的系统用该属性代替 weak 来使用
• copy : 和之前的copy一样,复制一个对象并创建strong关联
• assign : 对象不能使用assign,但原始类型(BOOL、int、float)仍然可以使用
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- ARC指南3 - @property
- 【Objective-C】ARC指南3 - @property
- ARC之@property使用
- [iOS] ARC, @property 关键字
- iOS ARC Property 总结
- ios arc 中的 property
- ARC中的@property
- ARC之@property使用
- ARC @property 属性常识
- @property 的使用 (ARC)
- 字符串 sizeof & strlen
- Linux grep 匹配不以某个字符开始的行
- 编译飞凌ok335D开发板内核时出现drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio
- 完成端口与高性能服务器程序开发
- 主流ETL工具选型
- ARC指南3 - @property
- JAVA的md5解密后导致乱码
- clock latency
- C# API接口使用样例
- 使用DES对资源进行加密解密
- Mysql----13个数据库的实用SQL小技巧
- java程序员需要练就的孤独九剑
- [Err] 1005 - Can't create table 'xx' (errno: 150) 解决方案
- RedHat5.5 升级安装GCC-4.6.1详细教程之二