-1

我是 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 会给我一个错误。为什么是这样?

4

2 回答 2

4

下划线的目的是为了避免在您打算使用该属性时直接使用 ivar。

于 2013-08-03T17:41:48.150 回答
1

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

于 2013-08-03T16:39:28.930 回答