2012-02-13 35 views
0

我試圖讓我構建的計算器應用程序觸發一些簡單的代碼,如果它檢測到我推小數點按鈕(只允許每個值一個小數點)。但是,由於某種原因,這些有關數字的陳述並未被觸發。我已NSLogged它的輸出,它確實顯示爲「。」所以我無法弄清楚爲什麼。我改變了。到任何其他的價值,沒有什麼似乎觸發他們。如果語句讀取發件人UIButton的currentTitle不起作用

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

不要用==比較字符串。使用isEqualToString

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

==檢查指針平等,不串平等。

+0

完美,三江源! – Luke 2012-02-13 14:46:48

0

==不起作用:

if (digit == @".") 

對於字符串使用:

if([digit isEqualToString:@".")