4

根据此处的 Apple 文档,这应该适用于我的代码:

@interface Menu () {
    int testIvar;

}
 -(void)privateMethod;

@end

如果我不尝试声明 iVar,这将有效。一旦我添加了花括号以及它们之间的内容,我就会收到这个漂亮的红色警告:

'{' 标记之前的预期标识符或 '('

这里发生了什么?

4

1 回答 1

4

(将我的评论变成答案......)

正如您链接到的文档所述,任何类型的 GCC 都不会为您执行此操作,LLVM < 2.0 也不会:

使用 Clang/LLVM 2.0 编译器,您还可以在类扩展中声明属性和实例变量。

确保您使用的是可用的最新编译器(如果您使用的是 Xcode < 4,您可能会不走运)。

于 2012-03-01T06:05:31.983 回答