iPhone-课堂外合成和ivar使用?
我读过很多关于@synthetic call的文章。关于它的用途,…iPhone-课堂外合成和ivar使用?,iphone,properties,instance-variables,accessor,synthesizer,Iphone,Properties,Instance Variables,Accessor,Synthesizer,我读过很多关于@synthetic call的文章。关于它的用途,… 所以我做了一个测试,它的结果给我一种奇怪的感觉。 让我解释一下 让我们写一个对象 然后在它的.m @synthesize bbTest = aaTest; -(void)log { NSLog(@"Inside var : %@", aaTest); NSLog(@"Inside property : %@", self.bbTest); } 在另一个.m中,让我们写下: 然后归纳为一种方法: An
所以我做了一个测试,它的结果给我一种奇怪的感觉。 让我解释一下 让我们写一个对象 然后在它的.m
@synthesize bbTest = aaTest;
-(void)log {
NSLog(@"Inside var : %@", aaTest);
NSLog(@"Inside property : %@", self.bbTest);
}
在另一个.m中,让我们写下:
然后归纳为一种方法:
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
所以。。。这不是很奇怪吗?在您的合成调用中,您将bbtest分配给aaTest(注意大写字母t)。这与aatest不同在您的合成调用中,您将bbtest分配给aatest(注意大写字母T)。这和aatest不一样oops,你说得对。你能删除你的答案,这样我就可以删除这篇无用的帖子了吗?哦,你是对的。你能删除你的答案吗?这样我就可以删除这篇无用的帖子了?
AnObject* testCtrl = [[AnObject alloc] init];
testCtrl.bbTest = @"Some string";
NSLog(@"Outside property : %@", testCtrl.bbTest);
[testCtrl log];
Outside property : Some string
Inside var : Some string
Inside property : Some string