NSRange与NSNotFound不匹配

时间:2012-01-19 01:20:39

标签: objective-c ios floating-point nsrange

我有以下方法:

- (IBAction)digitPressed:(UIButton *)sender {
    NSLog(@"%@", sender.currentTitle);
    if (self.userTypingNumber) {
        if (![sender.currentTitle isEqualToString:@"."]) 
            self.display.text = [self.display.text stringByAppendingString:sender.currentTitle]; 
        else {
            NSRange range = [sender.currentTitle rangeOfString:@"."];
            if (range.location == NSNotFound) { 
                self.display.text = [self.display.text stringByAppendingString:sender.currentTitle];
            }
        }
    } else {
        self.display.text = sender.currentTitle;
        self.userTypingNumber = YES;
    }
}

我的问题是我的程序永远不会进入de NSNotFound if。我正在制作一个计算器,它应该接受浮点数,但每当我按下时。它只是通过if。知道什么可能是错的吗?

1 个答案:

答案 0 :(得分:0)

根据您的逻辑,sender.currentTitle在您的else语句中始终为@".",因此您的范围始终位于0。