gpt4 book ai didi

iphone - 每点击一次按钮,将文本框中的数字减一

转载 作者:行者123 更新时间:2023-11-28 17:57:06 24 4
gpt4 key购买 nike

我是 Objective-C 的新手,所以这可能真的很简单:我的应用程序中有一个显示弹药计数的文本框,因此每次用户点击开火按钮时,文本框中的数字都会显示将下降一(12 > 11 > 10 等)到 0。我尝试使用 for 和 if 语句,但它们不起作用(我可能使用了不正确的语法)。这就是我现在正在使用的,但显然我需要

- (IBAction)fire {

[ammoField setText:@"11"];

}

- (IBAction)reload {

[ammoField setText: @"12"];

}

最佳答案

最简单的方法是将文本转换为数字,将其递减并重置文本,即将 fire 方法中的代码替换为:

NSInteger ammoCount = [ammoField.text integerValue];
ammoCount--;
ammoField.text = [NSString stringWithFormat:@"%d", ammoCount];

但不要这样做,它会让婴儿史蒂夫乔布斯哭泣。

更好的方法是向 UIInteger 类型的类添加一个新变量来跟踪子弹的数量,即:

// in interface
NSInteger _ammoCount;

...

// in implementation

- (IBAction)fire {
_ammoCount--;
if (_ammoCount <= 0) {
_ammoCount = 0;
fireButton.enabled = NO;
}
[ammoField setText: [NSString stringWithFormat:@"%d", _ammoCount]];
}

- (IBAction)reload {
_ammoCount = 12;
[ammoField setText: [NSString stringWithFormat:@"%d", _ammoCount]];
fireButton.enabled = YES;
}

哦,别忘了在早期的某个时候调用reload 以确保 _ammoCount 和 ammoField 得到初始化。

关于iphone - 每点击一次按钮,将文本框中的数字减一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12154211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com