2011-10-20 70 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 –