我有一个像下面的代码:类扩展的语法是否更改?
@interface InterfaceWithACategory() {
... Some variables
}
@end
XCode中编译4.0.2
现在我没有升级(已怪自己这个愚蠢的想法)时,以下哪工作完美的XCode 4.2 +的iOS SDK 5.0并且有一个错误 “预期标识符或 '(' 前 '{' 令牌”。
任何帮助,将真正理解。
我有一个像下面的代码:类扩展的语法是否更改?
@interface InterfaceWithACategory() {
... Some variables
}
@end
XCode中编译4.0.2
现在我没有升级(已怪自己这个愚蠢的想法)时,以下哪工作完美的XCode 4.2 +的iOS SDK 5.0并且有一个错误 “预期标识符或 '(' 前 '{' 令牌”。
任何帮助,将真正理解。
通常您不能在类扩展中创建iVars,但是可以使用@property语法设置声明的属性。
@interface InterfaceWithACategory()
@property (retain) NSArray *inDisArray;
@property (retain) NSInteger iThinkYouGetInt;
@end
在ObjC 2.1然而你可以这样做,但你的编译器设置为苹果LLVM 3.0我测试了这个上的Xcode 4.2 + iOS5.0和它的作品。
你有它+1 –
类扩展不是一个类。它看起来像一个,但它没有什么在parens() – pchap10k
也许是一个愚蠢的建议,但你没有尝试过()? –
那么它将是一个相同接口的重新定义,这是一个类扩展。 –
那么你应该在括号内放置一个名字,如:@interface InterfaceWithACategory(CategoryName),即使它没有被真正使用 –