4

Apple のドキュメントhereによると、これは私のコードで機能するはずです。

@interface Menu () {
    int testIvar;

}
 -(void)privateMethod;

@end

これは、iVar を宣言しようとしない場合に機能します。中括弧とその間にあるものを追加するとすぐに、この素​​晴らしい赤い警告が表示されます。

「{」トークンの前に識別子または「(」が必要です

何が起きてる?

4

1 に答える 1

4

(私のコメントを答えに変える...)

あなたがリンクしたドキュメントが述べているように、どんな種類のGCCもあなたのためにこれをしませんし、LLVM < 2.0もしません:

Clang/LLVM 2.0 コンパイラを使用すると、クラス拡張でプロパティとインスタンス変数を宣言することもできます。

利用可能な最新のコンパイラを使用していることを確認してください (Xcode < 4 を使用している場合は、うまくいかない可能性があります)。

于 2012-03-01T06:05:31.983 に答える