前段时间,我开发了一个带GCC编译器的应用程序,现在我升级为使用Apple LLVM编译器4.2,并收到很多类型的错误:Cannot declare variable inside @interface or @protocol
以下是一个例子:
@interface HomeController(PRIVATE)
NSMutableArray *array;
@end
我知道我不能在类别中声明ivars,但如果我将它们更改为属性,那就没有意义了,因为有些ivars引用了extern类。
您通常如何处理这类问题?提前完成。
答案 0 :(得分:3)
如果你想让它变成“私人”,我通常会创建一个未命名的类别并在那里声明ivars:
@interface MyClass()
{
NSArray *myArray;
}
@end
我不确定它是你的类别的命名部分,还是你错过了问题的大括号,但这对我有用
答案 1 :(得分:1)
@interface HomeController (){
NSMutableArray *array;
}
然后这些变量是私有的...