ios 5プログラミング@synthesize window=_についてWindowsの理解
1083 ワード
@synthesize window=_window;
@synthesize viewController=_viewController;
通常は=部分が含まれていません、@synthesize window=window; どうやって理解しますか?ここの_Windowsと_viewControllerはどんな変数ですか?
.hファイルにwindowとviewControllerインスタンス変数がクラスに定義されていません.@perproty宣言を行うにはどうすればいいですか.
#import <UIKit/UIKit.h> @class ViewController;@interface AppDelegate : NSObject <UIApplicationDelegate>
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet ViewController *viewController;
@end
32-bitでは、クラスの@interface部分にivar宣言が行われていないが、@property宣言があり、クラスの@implementation部分に応答する@synthesizeがある場合、次のようなコンパイルエラーが発生します.
Synthesized property 'xX' must either be named the same as a compatible ivar or must explicitly name an ivar
64-bitでは、実行時にクラスにivarが自動的に追加され、追加されたivarは下線「」でプレフィックスされます.
上の宣言部分の @synthesize window=_window; Windowsのプロパティは_Windowsインスタンス変数合成アクセサメソッド.
リファレンスhttp://www.cocoabuilder.com/archive/cocoa/198573-property-problem.html
プライベート変数の名前を明確に指定しないと、プライベート変数名と属性名が同じだと思われます!