自动引用计数(ARC)必须遵守一些规则
2014-05-22 17:41
330 查看
为了能通过ARC的方式进行编译,必须遵守一些规则。
1.alloc/initobjects
按照之前的方式创建对象,不必再做retain/autorelease/retainCount操作。
2.deallocmethods
通常情况将会自动为你创建,你不必直接调用该方法。尽管你可以创建一个定制的dealloc方法来释放资源而不是实例变量。当创建定制方法时,不要调用[superdealloc]方法。编译器将会强行来为你做该操作。
3.declaredproperties
@property(strong) NSObject *obj;
ARC之前,我们告诉编译器如何进行内存管理,使用assign/retain/copy参数的命令@property来声明公共属性。这些参数将不会在ARC中使用,我们会使用weak/strong参数来告诉编译器如何来操作属性。
4.objectpointer in c structures
这是一个禁忌。文档建议使用类而不是结构体的方式来实现,这种方式非常有益因为结构体对于ARC是未知的。结构体将会引起额外的迁移麻烦。
5.@autoreleasepoolinstead
NSAutoReleasePool
ARC编译代码不能使用NSAutoReleasePool,必须使用@autoreleasepool{}块.
1.alloc/initobjects
按照之前的方式创建对象,不必再做retain/autorelease/retainCount操作。
2.deallocmethods
通常情况将会自动为你创建,你不必直接调用该方法。尽管你可以创建一个定制的dealloc方法来释放资源而不是实例变量。当创建定制方法时,不要调用[superdealloc]方法。编译器将会强行来为你做该操作。
3.declaredproperties
@property(strong) NSObject *obj;
ARC之前,我们告诉编译器如何进行内存管理,使用assign/retain/copy参数的命令@property来声明公共属性。这些参数将不会在ARC中使用,我们会使用weak/strong参数来告诉编译器如何来操作属性。
4.objectpointer in c structures
这是一个禁忌。文档建议使用类而不是结构体的方式来实现,这种方式非常有益因为结构体对于ARC是未知的。结构体将会引起额外的迁移麻烦。
5.@autoreleasepoolinstead
NSAutoReleasePool
ARC编译代码不能使用NSAutoReleasePool,必须使用@autoreleasepool{}块.
相关文章推荐
- 引用作为返回值的时候,有一些规则必须遵守
- 【iOS7的一些总结】1、ARC自动引用计数
- iOS开发之ARC(自动引用计数)
- 移动开发:iOS内存管理之:引用计数、ARC、自动释放池autoreleasepool和便捷方法之间的关系
- obj-c编程11:内存管理和ARC(自动引用计数)
- ARC————自动引用计数
- OC内存管理,MRC,手动引用计数,ARC,自动引用计数
- iOS内存管理之:引用计数、ARC、自动释放池autoreleasepool和便捷方法之间的关系
- iphone 自动引用计数(ARC)
- ARC专题:编写兼容ARC(自动引用计数) 和 non-ARC(非自动引用计数)的通用代码
- ARC模式下的自动引用计数
- 使用ARC必须遵守的规则
- IOS ARC 自动引用计数
- iOS内存管理之:引用计数、ARC、自动释放池autoreleasepool和便捷方法之间的关系
- 自动引用计数(ARC)
- 开放源码必须遵守的一些规则
- iphone 自动引用计数(ARC)
- Automatic Reference Counting (ARC) 自动引用计数
- 初探swift语言的学习笔记六(ARC-自动引用计数,内存管理)
- iOS开发之ARC(自动引用计数)