我有一個像下面的代碼:類擴展的語法是否更改?
@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),即使它沒有被真正使用 –