0

私はObjective cでクラスを書いています。

そして、メイン ビュー コントローラーで double 型のプライベート プロパティが必要です。

私のコード: MainViewController.m

#import "MainViewController.h"

@interface MainViewController ()

@property (nonatomic) BOOL x;

@end

@implementation MainViewController

今、私はXcode 4.4での自動プロパティ合成を知っていますが、 @synthesize x; と書かない場合 「self.x」または「_x」でのみプロパティ「x」にアクセスできます

@synthesize x と書くと

「x」と書くだけでアクセスできます。

私はそれが単純な質問であることを知っていますが、コードビハインドで何が起こっているのか、そして2つのアプローチの本質的な違いを本当に理解したいと思っています.

ありがとう

4

1 に答える 1

1

あなたが書く@synthesize x;なら、あなたはどちらかを使うことができself.xますx

プロパティを合成しない場合、コンパイラは舞台裏でこれを行います: @synthesize x = _x. self.xこれで、またはのいずれかを使用できます_x

ただし、ivar を合成して別の名前を割り当てることもできます。たとえば、または@sythesize x = _aBoolenを使用できるようになりました。self.x_aBoolean

于 2013-05-12T16:35:49.763 に答える