Xcode если оператор не работает - PullRequest
0 голосов
/ 18 января 2012

ОК. У меня есть приложение для прессы со следующим кодом в newAppViewController.m Когда я запускаю свое приложение, метка, которую я назвал myLabel, изменяет текст, но цвет представления ВСЕГДА становится синим, а не красным. По какой-то причине это всегда другой случай! Есть идеи?

-(IBAction)click:(id)sender{
  NSString *mystr = [[NSString alloc]initWithFormat:@"%@",[[sender titleLabel] text] ];
  myLabel.text = mystr;

  if(myLabel.text == @"RED")
    self.view.backgroundColor = [UIColor redColor];
    else self.view.backgroundColor  = [UIColor blueColor];
}

Ответы [ 3 ]

3 голосов
/ 18 января 2012

Почему бы вам не попробовать

if([myLabel.text isEqualToString:@"RED"])
2 голосов
/ 18 января 2012

Невозможно сравнить две строки с оператором "==".Для этого используйте -isEqualToString: метод.

0 голосов
/ 18 января 2012

Для сравнения двух скаляров необходимо использовать оператор ==;Когда вы сравниваете объекты, вы должны использовать -isEqual: метод, а когда вы сравниваете строки, вы должны использовать --isEqualToString: метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...