Я прочитал много вещей о вызове @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"
затем в один метод:
AnObject* testCtrl = [[AnObject alloc] init];
testCtrl.bbTest = @"Some string";
NSLog(@"Outside property : %@", testCtrl.bbTest);
[testCtrl log];
Мы в порядке, что здесь, включая только .h, вызов синтеза не известен от другогообъект.Глядя на журнал, он дает:
Outside property : Some string
Inside var : Some string
Inside property : Some string
Итак ... Разве это не странно?