如果语句读取发件人UIButton的currentTitle不起作用

时间:2012-02-13 14:41:41

标签: objective-c if-statement sender

我正在尝试使用我构建的计算器应用程序来触发一些简单的代码,如果它检测到我按下了小数点按钮(每个值只允许一个小数点)。但是,出于某种原因,这些关于数字的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!
}

2 个答案:

答案 0 :(得分:0)

不要将字符串与==进行比较。使用isEqualToString

if ([digit isEqualToString:@"."])

==检查指针是否相等,而不是字符串相等。

答案 1 :(得分:0)

==不起作用:

if (digit == @".")

对于字符串使用:

if([digit isEqualToString:@".")