ARC文档可在LLVM站点上公开获取,因此NDA不是此处的问题。
我发现在为ARC准备好我的代码时,我在很多情况下使用(NSObject *),我之前使用过(id)。
例如,如果我正在编写initWithParent:方法,则可能是
-(id) initWithParent: (NSObject*) parent;
我以前写过的地方
-(id) initWithParent: (id) parent;
我的问题是 - 这种做法有意义吗?
答案 0 :(得分:2)
我相信这对大多数情况都有效,至少如果你的对象派生自NSObject(并非一切都是如此)。 Here's an interesting blog post on the subject(独立于ARC)。
答案 1 :(得分:1)
我绝不是任何专家,但如果消息传递的内容不是对象(int,struct等等),它似乎会遇到麻烦。
除此之外,这是一种有趣的解决方法。