33

申し訳ありませんが、私はiOSの初心者開発者です。最近、@ synthesizeが特定のバージョンのXcodeで@synthesizeになり、コンパイラが自動合成してプロパティを作成し、プライベート変数に_を割り当てると簡単に聞きました。

私はこれをテストしました:

@synthesizeがない場合は、を使用してプロパティとプライベートフィールドにアクセスできます。

self.property_name = something;
_property_name = something; //(used in getter and setters)

@synthesize property_nameを使用すると、を使用してプロパティとプライベートフィールドにアクセスできます。

self.property_name = something;
property_name = something;

私の質問は、本当に@synthesizeがもう必要なのかということです。または私が見逃しているより大きな物語がありますか?

4

2 に答える 2

55

いいえ、デフォルトのプロパティ合成と呼ばれる機能が追加されたXcode 4.4以降、これを行う必要はありません。

簡単に言えば、これは自動的に生成されます。

@synthesize name = _name;
于 2013-03-25T01:11:42.223 に答える
-3

私のように使用していない限り、私が知る限り、それでも必要です。

.hで:

@property int32_t FwdID;

.mで:

@synthesize FwdID;

クラス内での使用法:

FwdID = 0;

私の知る限り、デフォルトを機能させたい場合は、_FwdID=0と入力する必要があります。コードでは、これは私には醜いように見えます。

したがって、あなたが私のようである場合(私が想定しているすべての標準的なコーディング規則に違反している場合)、合成を使用する必要があります。

于 2015-02-25T17:04:42.630 に答える