我正在尝试构建一个按钮计算器。因此,用户按下标有“0”的按钮,文本框显示0.我遇到的挑战是当用户按下0按钮两次(“00”)或按1然后按0.(“10 。“)
我为每个数字按钮设置了一个事件。我的想法是有一个名为runningAnswer的通用变量来存储连续答案的运行记录。然后我有一个按钮字符串和一个“holder”字符串,因为我无法使用按钮字符串附加runningAnswer字符串。
我遇到的问题是我必须启动持有人字符串。我可以使用我的方法让文本框显示“0”,但每次按下它时,runningAnswer只存储第一个“0”,因为持有者字符串正在重新设置。
如果这是一个非常简单的问题,我道歉。我只是对如何构建这种应用程序感到很失落。
- (IBAction)btn0:(id)sender {
NSString* zero =@"0";
NSString* holder= @"";
runningAnswer=[holder stringByAppendingString:zero];
self.txtResult.text = runningAnswer;
答案 0 :(得分:0)
您需要在函数外声明 holder 字符串
NSString *holder = @"";
并在你的功能中
holder = [holder stringByAppendingString:zero];
self.txtResult.text = holder;
答案 1 :(得分:0)
摆脱持有人,然后做
runningAnswer = [runningAnswer stringByAppendingString:zero];
并确保在init中初始化运行答案,如:
- (id)init
{
self = [super init];
if (self) {
runningAnswer = @"";
}
return self;
}