我正在尝试使用我构建的计算器应用程序来触发一些简单的代码,如果它检测到我按下了小数点按钮(每个值只允许一个小数点)。但是,出于某种原因,这些关于数字的if语句没有被触发。我已经NSLog了它的输出,它确实显示为“。”所以我无法弄明白为什么。我改变了。对于任何其他价值,似乎没有任何东西可以触发它们。
NSString *digit = [sender currentTitle];
if (self.userIsInTheMiddleOfEnteringANumber) {
self.display.text = [[[self display] text] stringByAppendingString:digit]; // All in one line!
NSLog(@"Digit is equal to %@",digit);
if (digit == @".") NSLog(@"That was a decimal point!");
} else {
self.display.text = digit;
if (digit == @".") NSLog(@"You can't begin a number with a decimal!");
self.userIsInTheMiddleOfEnteringANumber = YES; // If they aren't typing, now they are!
}
答案 0 :(得分:0)
不要将字符串与==进行比较。使用isEqualToString
:
if ([digit isEqualToString:@"."])
==
检查指针是否相等,而不是字符串相等。
答案 1 :(得分:0)
==不起作用:
if (digit == @".")
对于字符串使用:
if([digit isEqualToString:@".")