NSRange не совпадает с NSNotFound - PullRequest
0 голосов
/ 19 января 2012

У меня есть следующий метод:

- (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 голосов
/ 19 января 2012

Глядя на вашу логику, sender.currentTitle всегда будет @"." в вашем операторе else, поэтому ваш диапазон всегда будет иметь местоположение 0.

...