'_'
現在、新しい Xcode のリリースにより、プロパティは自動的に合成されると言われています。実際、プレフィックスを使用している限り、合成せずにアクセスできます。'self.*'
しかし最近、Xcode を使用すると、プレフィックス (* はプロパティの名前)を使用して、別の方法でこれらのプロパティにアクセスできることがわかりました。
これは正しいです?使うべきですか?私のコードに害を及ぼす可能性はありますか?
ありがとうございます。
'_'
現在、新しい Xcode のリリースにより、プロパティは自動的に合成されると言われています。実際、プレフィックスを使用している限り、合成せずにアクセスできます。'self.*'
しかし最近、Xcode を使用すると、プレフィックス (* はプロパティの名前)を使用して、別の方法でこれらのプロパティにアクセスできることがわかりました。
これは正しいです?使うべきですか?私のコードに害を及ぼす可能性はありますか?
ありがとうございます。
ゲッター/セッターを使用_yourProperty
して、インスタンス変数にアクセスします。self.yourProperty
コストのかかるゲッター/セッターがないことが確実である限り、両方とも同じです(ゲッター/セッターのパフォーマンスの低下はごくわずかです)。ただし、一般に、後でコードを変更する場合に備えて、getter / setterアプローチを使用する必要があります(getter / setter自体を除く)。
編集:
@Vanthel:下線は純粋な規則です。なし@synthesize
(またはあり@synthesize foo
)の場合、コンパイラはプロパティfoo
に対して変数を生成します_foo
。ただし、のアクセサによってアクセスされる@synthesize foo = my_bar
変数を割り当てることによって。my_bar
foo