代码之家  ›  专栏  ›  技术社区  ›  nacho4d

是否可以在Objective-C扩展中定义ivar?

  •  2
  • nacho4d  · 技术社区  · 14 年前

    @interface MyController () {//ERROR here
        Foo *privateFoo; 
    }
    @end
    

    我做到了,但我得到: Expected identifier or '{' before '{' token

    我希望我能在这里得到一些建议。

    伊格纳西奥。

    3 回复  |  直到 14 年前
        1
  •  8
  •   Jens Ayton cdespinosa    14 年前

    您可以在现代运行时(64位/iOS)使用Xcode 3.2.3或3.2.4中的clang(LLVM编译器1.5)通过添加 -Xclang -fobjc-nonfragile-abi2 其他C标志生成设置。(请注意,这实际上是一个选项,而不是两个。)

    此标志的另一个作用是导致默认情况下合成属性。

        2
  •  0
  •   jer    14 年前

    这样处理是不可能的。类别仅定义其他行为,而不是状态。

        3
  •  0
  •   damix911    12 年前

    尽管它没有显式地声明它,而且线程已经很老了,但是本文在第75页有一个例子,其中在一个扩展中添加了ivar。

    The Objective-C Programming Language