1

Xcodeには問題Autosynthesized property 'ViewController''window'類似点があり、BSAppDelegate.hでプロパティが宣言されていることがわかります。ここで何人かの人々がアンダースコアの問題を説明しようとしましたが、これを修正する方法がわかりません。ViewController またはウィンドウに言及している以下の行を省略すると、アプリがコンパイルされません。

//
//  BSAppDelegate.h
//

#import <UIKit/UIKit.h>

@class BSViewController;

@interface BSAppDelegate : UIResponder <UIApplicationDelegate>{
    UIWindow *window;
    BSViewController *viewController;
}


@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) BSViewController *viewController;

@end
4

1 に答える 1

1

プロパティを宣言する場合、インスタンス変数セクションでも同じ変数を宣言する必要はありません。つまり、これで問題ありません。

@interface BSAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) BSViewController *viewController;

@end

アプリがこのようにコンパイルできない場合、実装ファイルに 2 番目の @interface セクションがありますか、または @synthesize ステートメントがありますか? Xcode 4.4 以降、@synthesize ステートメントは不要になりましたが、プロパティを明示的に合成しない場合、Xcode は前にアンダースコア (_window または _viewController) を付けてそれらを合成します。詳細情報へのリンクは次のとおりです: Automatic Property Synthesis With Xcode 4.4

于 2013-01-20T03:53:46.407 に答える