Если оператор, читающий currentTitle отправителя UIButton, не работает - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь заставить приложение калькулятора, которое я создал, запускать простой код, если он обнаруживает, что я нажал кнопку десятичной запятой (чтобы разрешить только одну десятичную запятую на значение) Однако по какой-то причине эти операторы if относительно цифр не запускаются. Я NSLoged вывод его, и он действительно показывает как "." поэтому я не могу понять, почему. Я изменил. к любому другому значению, кажется, ничто не вызывает их.

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 голосов
/ 13 февраля 2012

== не работает:

if (digit == @".")

Для использования строки:

if([digit isEqualToString:@".")
0 голосов
/ 13 февраля 2012

Не сравнивайте строки с ==.Используйте isEqualToString:

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

== проверки на равенство указателей, а не на равенство строк.

...