【发布时间】:2011-06-30 01:53:42
【问题描述】:
我已经加入了 ARC 的潮流。在过去,我会像这样声明我的委托属性:
@property(assign) id<MyProtocol> delegate;
所以我想我会在 ARC 下这样做:
@property(weak) id<MyProtocol> delegate;
并非如此。在 .m 中的 @synthesize 语句上,我有一个编译 error:
*语义问题:__weak 属性 'delegate' 的现有 ivar 'delegate' 必须是 __weak*
我已经宣布它很弱!另外,我如何将实现协议的类传递给弱引用的属性。我是否必须将其包装在那些奇怪的 obj_unretained 调用之一中?
对此的任何帮助将不胜感激。
【问题讨论】:
-
ARC 可以公开讨论。 iOS 5 特定的 API 不能。
-
言下之意是iOS 5支持GC Obj-C,这大概是保密的,除非Apple宣布它(我不知道他们有没有;我太忙没有跟上)。
标签: iphone ios ios5 automatic-ref-counting