hal*_*t00 4 compiler-errors objective-c instance-variables xcode4 class-extensions
我从迁移的Xcode 3我的旧iPhone应用程序来的Xcode 4.我收到这个代码错误,用来在Xcode中创建3 - 其实我写这样的目的,隐藏其他模块的实现细节.但是,Objective-C似乎发生了一些变化.此代码现在收到错误
无法在@interface或@protocol中声明变量.
请记住,这是.m文件顶部的代码而不是.h
@interface VisualViewController ()
BOOL doReloadPhoto;
+ (void)buildVisualEffectInfo;
@property (nonatomic, retain) HandleCheckListSetting *checkListHandler;
@end
Run Code Online (Sandbox Code Playgroud)
这可能是之前编译过的,但我认为它并没有按照您的想法进行.听起来你想在类扩展中创建一个私有的ivar.您拥有的语法只是一个顶级变量,相当于:
BOOL doReloadPhoto;
@interface VisualViewController ()
// etc.
@end
Run Code Online (Sandbox Code Playgroud)
你需要把它放在花括号里面才能成为一个ivar:
@interface VisualViewController ()
{
BOOL doReloadPhoto;
}
Run Code Online (Sandbox Code Playgroud)
(相反,我不确定这个 - 扩展中的ivar - 是否可以使用Xcode 3的编译器,这可能就是你按照你的方式做到的原因.)听起来好像编译器现在(理智地)指出了您可能没有按照预期执行的代码,并强迫您完全明确自己的意图.
最近也可以@implementation使用相同的语法在块中声明私有ivars :
@implementation VisualViewController
{
BOOL doReloadPhoto;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |