2011-10-20 66 views
1

我有一个像下面的代码:类扩展的语法是否更改?

@interface InterfaceWithACategory() { 
    ... Some variables 
} 
@end 

XCode中编译4.0.2

现在我没有升级(已怪自己这个愚蠢的想法)时,以下哪工作完美的XCode 4.2 +的iOS SDK 5.0并且有一个错误 “预期标识符或 '(' 前 '{' 令牌”。

任何帮助,将真正理解。

+0

也许是一个愚蠢的建议,但你没有尝试过()? –

+0

那么它将是一个相同接口的重新定义,这是一个类扩展。 –

+0

那么你应该在括号内放置一个名字,如:@interface InterfaceWithACategory(CategoryName),即使它没有被真正使用 –

回答

1

通常您不能在类扩展中创建iVars,但是可以使用@property语法设置声明的属性。

@interface InterfaceWithACategory() 
@property (retain) NSArray *inDisArray; 
@property (retain) NSInteger iThinkYouGetInt; 
@end 

在ObjC 2.1然而你可以这样做,但你的编译器设置为苹果LLVM 3.0我测试了这个上的Xcode 4.2 + iOS5.0和它的作品。

+0

你有它+1 –