2012-01-19 25 views
0

我有以下方法匹配:NSRange不NSNotFound

- (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; 
    } 
} 

我的問題是我的程序不會進入,如果去NSNotFound。我正在製作一個計算器,它應該接受浮點數,但每當我按下。它只是通過了if。任何想法可能是錯的?

回答

0

看你的邏輯,是sender.currentTitle始終將是@"."在else語句,所以你的射程總是要具有0

+0

的位置這是在凌晨4點發生了什麼,當你的代碼。 NSRange應該從self.display中得到,而不是當前標題 – 8vius 2012-01-19 01:38:15

+0

發生在每個人身上,即使在白天=) – MechEthan 2012-01-19 01:53:20