Objective-Cのプロパティに値を割り当てることに疑問があります。自己の使用(または使用しない)。 Objective-Cのプロパティで
// MyClass.h
@interface MyClass : NSObject {
MyOtherClass *myVar;
}
@property (nonatomic, retain) MyOtherClass *myVar;
- (id)initWithValue:(NSString *)val;
そして、この実装:実行のある時点で
// MyClass.m
@implementation MyClass
@synthesize myVar;
- (id)initWithValue:(NSString *)val {
self = [super init];
if (self != nil) {
/** Do some stuff with val... **/
myVar = [method:val]; // Some method that returns a MyOtherClass value
}
return self;
}
、値を私はこのインタフェースを持っている場合、私は、例えば、「misteriously逃した」値、の問題の多くを持っていましたmyVarが消えたり、変化したりするなど...解決策は変わります:
myVar = [方法:val]; //
自己ためMyOtherClass値
を返す何らかの方法 .myVar = [方法:ヴァル]。 // MyOtherClassの値を返すメソッド
だから、自分自身を使うか使わないかの違いは何ですか?私が意味する、それが私はそれが問題の原因となります場合ではないので、それを使用してきましたが、あなたは自己を使用している場合
は、プロパティを使用している、事前
[self.var vs varを呼び出す間の違い](http://stackoverflow.com/questions/4627646/difference-between-calling-self-var-vs-var) –