用于@property时属性(弱)的含义是什么?

时间:2011-12-03 23:44:19

标签: objective-c xcode4

自从我在objective-c中编码以来已经至少两年了,在拉了我老板的git repo之后,我在项目中发现了几个@property (nonatomic, readonly, weak);的实例。

我觉得好像google,stackoverflow或者apple文档能够快速解决我的查询,但我不能为我的生活(weak)做什么。

我的两个问题是:

  1. (weak)是什么意思?
  2. 为什么我的XCode无法将(weak)识别为有效关键字?
  3. 我仍然在10.6,但我的XCode是最新的。

1 个答案:

答案 0 :(得分:4)

weak可用于桌面上的Garbage Collection和桌面10.7+和iOS 5.0+上的Automatic Reference Counting。它声明该属性是一个归零弱指针。换句话说,它是对象的引用,不会调用retain或release,并且在对象被销毁时自动nil引出。为了正确使用这样的属性,如果你要多次引用它,你必须在使用之前将它存储到局部变量中,否则它可能会导致nil无法预测你的代码。