我已经阅读了很多关于 @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
所以……这不是很奇怪吗?