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

nac*_*o4d 2 cocoa cocoa-touch objective-c

我想知道是否有可能在.m文件中写这样的东西:

@interface MyController () {//ERROR here
    Foo *privateFoo; 
}
@end
Run Code Online (Sandbox Code Playgroud)

我做到了,但我得到: Expected identifier or '{' before '{' token,我想我听到/观看视频(WWDC2010)说这是可能的或将是可能的,目前只有一些架构支持它...但我不确定,我不记得视频名称.

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

伊格纳西奥.

Jen*_*ton 8

您可以在Xcode 3.2.3或3.2.4中使用clang("LLVM编译器1.5")在现代运行时(64位/ iOS)中执行此操作,方法是添加-Xclang -fobjc-nonfragile-abi2到Other C Flags构建设置.(请注意,这实际上是一个选项,而不是两个选项.)

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