0

免責事項:私はObjective-Cにかなり慣れていません

@property と @synthesize に関連する質問がいくつかあります。

私が財産を持っているとしましょう

@property (strong, nonatomic) NSString *name;

1- Xcode 4.4+ では、プロパティが自動的に行われるため、プロパティの @synthesize をスキップできることを知っています。だから私は、生成されたiVarがプロパティの名前と同じであるべきだと思いますか?一般に@synthesize name;iVarを実行すると、プロパティの名前と同じになりますか?

@synthesize name = _name;2- _name という名前のプライベート変数を手動で宣言したときに使用されることを知っており、コンパイラにそれをプロパティのiVarとして使用させたい。@synthesize name = _name; 実際にプライベート変数を宣言せずに行うとどうなるかを知る必要があります。

前もって感謝します。

4

1 に答える 1

1
  1. 私が間違っていなければ、生成されるデフォルトの iVar はアンダースコアで始まります。つまり、プロパティのデフォルトの iVar は にnameなります_name
  2. プロパティの iVar_nameが生成されますname。@synthesize がジョブを実行する場合、iVar を手動で作成する必要はありませんが、手動で追加する場合でも問題はありません。
于 2013-01-31T15:00:59.277 に答える