码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发基础之ivars(实例变量)与@property(属性)

时间:2015-06-24 18:04:24      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

Objective-C带来了一个重大改进就是Non-fragile ivar。使得i一个类可以随意增加实例变量,不必对子类重新编译。对框架开发者(如苹果)有重大意义。

最新的编译器支持@property可以自动synthesize实例变量。等于ivar+getter+setter方法。 


属性修饰关键字

  • atomic。LLVM 4新增加的特性。是指存取器方法是thread-safe。并不保证整个变量是thread-safe的。如 NSMutableArray *stuff。self.stuff和self.stuff  = otherStuff 是线程安全的。但是ObjectAtIndex不是。
  • copy。对于非可变类(NSString,NSArray)通常用copy修饰。因为若把可修改的子类,如NSMutableString赋值给父类NSString,这种情况属性所指向的对象可能被其他调用者改变。
  • weak。非拥有关系。与assign类似。与unsafe_unretained区别是,当属性所指对象的内存被回收时,属性值也会清空(置为nil)。

iOS开发基础之ivars(实例变量)与@property(属性)

标签:

原文地址:http://www.cnblogs.com/bitnpc/p/4598036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!