在Objective-C iOS 6.1中使用下划线的目的是什么?

时间:2013-08-03 16:36:50

标签: objective-c

我是iOS开发的新手。我正在创建一个简单的应用程序,根据用户的下注和他们为马匹输入的赔率计算马匹投注的奖金。在XCode(4.6.3)中,我有以下方法用于计算单击按钮时用户的下注增加1:

-(IBAction) addBet:(id) sender {
    self.bet = [_betTextField.text intValue];
    if(self.bet > 0) {
        self.bet += 1;
        self.betTextField.text = [NSString stringWithFormat:@"%d", self.bet];

    }
}

我在头文件中声明了betTextField变量:@property (weak, nonatomic) IBOutlet UITextField *betTextField; 如果我不在betTextField.text变量之前使用下划线,XCode会给出错误。为什么是这样?

2 个答案:

答案 0 :(得分:4)

下划线的目的是使您在意图使用该物业时不会意外地使用ivar。

答案 1 :(得分:1)

因为没有下划线,名称实际上并不存在。这是因为@property意味着什么以及编译器在幕后为您做了什么。基本上,可以使用self.betTextField(使用自动定义的访问器方法)或_betTextField(直接访问实例变量)来访问您的属性。

相关问题