目标c中的私有财产

时间:2013-05-12 16:29:24

标签: objective-c properties synthesize

我在Objective c中写课。

我希望在主视图控制器中使用double类型的私有属性。

我的代码:MainViewController.m

#import "MainViewController.h"

@interface MainViewController ()

@property (nonatomic) BOOL x;

@end

@implementation MainViewController

现在,我知道使用Xcode 4.4进行自动属性合成 但如果我不写@synthesize x; 我只能使用“self.x”或“_x”

访问我的属性“x”

如果我写的话 @synthesize x

我只需写“x”即可访问。

我知道这是一个简单的问题,但我真的想了解背后代码中发生了什么, 以及两种方法之间的本质区别。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您撰写@synthesize x;,可以使用self.xx

如果您没有合成属性,编译器会在幕后执行此操作:@synthesize x = _x。现在,您可以使用self.x_x

但是你也可以合成并为ivar分配一个不同的名字,例如@sythesize x = _aBoolen - 您现在可以使用self.x_aBoolean