我是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会给出错误。为什么是这样?
答案 0 :(得分:4)
下划线的目的是使您在意图使用该物业时不会意外地使用ivar。
答案 1 :(得分:1)
因为没有下划线,名称实际上并不存在。这是因为@property
意味着什么以及编译器在幕后为您做了什么。基本上,可以使用self.betTextField
(使用自动定义的访问器方法)或_betTextField
(直接访问实例变量)来访问您的属性。