2011-10-20 16 views
1

私は以下のようなコードを持っていた:クラス拡張の構文が変更されましたか?

のXCode 4.0.2

でコンパイル時に今、私はXCodeの4.2 +のiOS SDK 5.0へのアップグレードを(すでにこの愚かなアイデアのために自分を責める)やった完璧な仕事を

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

そして "識別子または '(' '{' トークンの前に予想される" エラーが発生している。

をすべてのヘルプは本当にいただければ幸いです。

+0

多分愚かな提案が、あなたは()なしで試してみましたか? –

+0

それは同じインタフェースの再定義であり、これはクラス拡張です。 –

+0

次に、大括弧の中に名前を入れてください:@interface InterfaceWithACategory(CategoryName)実際に使用されていない場合でも –

答えて

1

通常、クラス拡張でiVarsを作成することはできませんが、@property構文を使用して宣言されたプロパティを設定できます。

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

しかしにObjC 2.1でこれを行うが、私は+ iOS5.0のXcode 4.2でこれをテストし、それが動作 アップルLLVM 3.0にコンパイラを設定することができます。

+0

あなたはそれを+1しました –

関連する問題