iOS ARC Property 总结
来源:互联网 发布:淘宝网茶具套装价格 编辑:程序博客网 时间:2024/05/21 13:54
由于一直活在旧时代,最近想在新的项目上使用ARC,看了几篇的文章后,稍微总结一下 Property。
在 MRC 时代,我们使用 Property 主要是简化实例对象的手动内存管理的成本,让 property 的 setter 方法自动管理原来对象的释放,以及新对象的 retain。但是有了 ARC 我们就不再需要了。一般来讲,如果仅仅只是在类中使用实例变量,你直接使用实例变量是更好的选择,内存管理就交给ARC就好了,只有那些属于 public 接口的实例变量,才应该定义为 property。
@interface MainViewController () @property (nonatomic, strong) NSMutableArray *searchResults;@end
很多时候我们会这样写 synthesize 语句:
@synthesize propertyName = _propertyName;实际上_propertyName 实例变量甚至可以不定义,编译器会自动为 property 定义 "_*" 的实例变量。
在 ARC 中,所有 outlet 属性都推荐使用 weak,这些 view 对象已经属于 View Controller 的 view hierarchy,不需要再次定义为 strong(ARC 中效果等同于 retain)。
@interface MainViewController () @property (nonatomic, weak) IBOutlet UITableView *tableView;@end在使用ARC之前,我不管是外部使用还是仅在类中使用的实例变量,我都会把它写到interface中,有时为了方便偶而会加上 property(将实例变量写在头文件中是一种遗留的陋习)。更好方法就是把实例变量名字写在@implementation里,与类实现的关系更密切同时也能够隐藏细节。
我们可以直接在.m 类实现中定义 private 实例变量:
@implementation MainViewController {NSMutableString *currentStringValue;}
我们在使用时,虽然没有定义 property,也可以直接
[self.soundEffect play];
如果你觉得这很别扭,也可以使用
[[self soundEffect] play];如果你还是觉得应该定义 property,那就定义一个吧,反正也没什么害处。
- iOS ARC Property 总结
- [iOS] ARC, @property 关键字
- ios arc 中的 property
- iOS应用开发:ARC之@property使用
- iOS应用开发:ARC之@property使用
- iOS ARC使用总结
- iOS arc总结
- 【ios】(ARC) 使用ARC的注意事项总结
- iOS ARC内存管理总结
- IOS ARC内存管理总结
- ios开发之深入浅出 (2) — ARC之@property使用
- iOS内存管理与ARC,及Property介绍
- iOS - @property 和 @synthesize 总结
- iOS Block在ARC/非ARC下的使用总结
- iOS Block在ARC/非ARC下的使用总结
- iOS Block在ARC/非ARC下的使用总结
- ARC之@property使用
- ARC指南3 - @property
- opencv中测量运行时间的函数
- Jump Game
- 在Windows Azure上部署Linux虚拟机
- 网易免费邮箱设置
- 如何让php自动进行二级域名泛解析
- iOS ARC Property 总结
- 关于升级ADT22后出现java.lang.ClassNotFoundException错误的解决
- 连接Windows Azure上的SQL数据库
- js 获取URL参数
- 集合知识点总结01
- 外排序和归并排序
- android:windowSoftInputMode属性详解
- ibatsnet resultMap作用
- mule transports