ARC是否意味着我应该声明静态类型而不是id?

时间:2011-07-05 15:36:22

标签: iphone objective-c ios automatic-ref-counting

ARC文档可在LLVM站点上公开获取,因此NDA不是此处的问题。

我发现在为ARC准备好我的代码时,我在很多情况下使用(NSObject *),我之前使用过(id)。

例如,如果我正在编写initWithParent:方法,则可能是

-(id) initWithParent: (NSObject*) parent;

我以前写过的地方

-(id) initWithParent: (id) parent;

我的问题是 - 这种做法有意义吗?

2 个答案:

答案 0 :(得分:2)

我相信这对大多数情况都有效,至少如果你的对象派生自NSObject(并非一切都是如此)。 Here's an interesting blog post on the subject(独立于ARC)。

答案 1 :(得分:1)

我绝不是任何专家,但如果消息传递的内容不是对象(int,struct等等),它似乎会遇到麻烦。

除此之外,这是一种有趣的解决方法。