iPhone-课堂外合成和ivar使用?

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

我读过很多关于@synthetic call的文章。关于它的用途,…
所以我做了一个测试,它的结果给我一种奇怪的感觉。 让我解释一下

让我们写一个对象 然后在它的.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