@synthesize 呼び出しについて多くのことを読みました。その使い方について・・・
ということでテストしてみたら、なんとも不思議な感じです。説明させてください...
オブジェクトに書きましょう .h
@interface AnObject : NSObject {
NSString* aaTest;
}
@property(nonatomic, retain) NSString* bbTest;
-(void)log;
次に、その .m で
@synthesize bbTest = aaTest;
-(void)log {
NSLog(@"Inside var : %@", aaTest);
NSLog(@"Inside property : %@", self.bbTest);
}
別の.m で、次のように書きましょう。
#import "AnObject.h"
次に、1つのメソッドに:
AnObject* testCtrl = [[AnObject alloc] init];
testCtrl.bbTest = @"Some string";
NSLog(@"Outside property : %@", testCtrl.bbTest);
[testCtrl log];
ここでは、.h だけを含めて、synthesize 呼び出しが他のオブジェクトから知られていないことは問題ありません。ログを見ると、次のようになります。
Outside property : Some string
Inside var : Some string
Inside property : Some string
そう…変じゃない?