0

アップルのObject-c開発者ハンドブックを読み始めたところです。私はプロパティで遊んでいます。2つのプロパティを持つクラスインターフェイスを宣言しました。

@interface SocialEnglish : NSObject <IsSociable>
@property int numberOfPeopleMet;
@property (readonly) int readOnlyProperty;
@end

プロパティに関連付けられたインスタンス変数を宣言せずに。驚いたことに、コンパイラは文句を言いませんでした。次に、インスタンスオブジェクトにアクセスするための一連のコードを記述し、セッターとゲッターが実装してインスタンス変数に関連付けた場合と同じように機能することを確認しました。

宣言クラスでは、次のようなことができます。

...
_readOnlyProperty = 3;
...

うーん...私はこれと同じくらい役立つと言わざるを得ない...私はそれが好きではない。コンパイラが文句を言わず、代わりにコードを生成するのはなぜですか。設定する必要のある設定はありますか?

@synthesize また、実装クラスにディレクティブがないことにも注意してください。

ありがとう!

4

1 に答える 1

3

Xcodeの最新バージョンは自動的に" synthesize"プロパティを宣言しました。 これはXcode4.0に付属しています(「コンパイル:LLVM2.0」の下のリンクされたリリースノートを参照してください)。

""を呼び出したり、 " " ivar or static and " "を@synthesize宣言したりする場合、または独自のセッターとゲッターを作成する場合は、これを続行できます。_readOnlyProperty@synthesize

于 2012-12-05T05:48:16.053 に答える