プロパティの値を読み取るために(get)アクセサーを使用することと、iVarを直接使用することの違いは正確には何でしょうか?
プロパティを宣言するクラスがあるとします。
@interface Foo : NSObject
@property (strong) NSString *someString;
@end
そして、実装では私はそれを使用しています。次の2行に違いはありますか?
someLabel.text = self.someString;
someLabel.text = _someString;
セットアクセサーの場合、それは明らかです。強力なプロパティのAfaikは、アクセサが保持と解放を処理します(興味深い「副次的な質問」は、ARCがそれを変更するかどうか、つまり、iVarを直接設定するか[__weak iVarではないと仮定して]ARCを使用して正しく保持および解放するかどうかです)、 KVOでは、正しく機能するためにアクセサーを使用する必要があります。しかし、ゲッターはどうでしょうか。
そして、違いがない場合、ベストプラクティスと見なされる1つの方法はありますか?
どうも