2015-01-31 3 views
-1

Я пытаюсь использовать метод для преобразования строки в UIColor так:Возвращающиеся UIColor вызывая сбои

-(UIColor *)getColorFromString:(NSString *)color { 
    if ([color isEqual: @"red"]) { 
     return [UIColor redColor]; 
    } 
    else { 
     return [UIColor blackColor]; 
    } 
} 

Используя это разбивает мое твик Пример:

self.view.backgroundColor = [self getColorFromString: @"red"]; //crashes 

self.view.backgroundColor = [UIColor redColor]; //works 
+1

Предоставить подробную информацию о катастрофе. – rmaddy

+0

% log не записывает ничего для меня – junyi00

ответ

0

сравнить две строки вы должны использовать функцию isEqualToString.

-(UIColor *)getColorFromString:(NSString *)color { 
    if ([color isEqualToString:@"red"]) { 
     return [UIColor redColor]; 
    } 
    else { 
     return [UIColor blackColor]; 
    } 
} 
+1

Нет, не делайте. '-isEqual:' эквивалентен. См. Также: http://stackoverflow.com/questions/1292862/nsstring-isequal-vs-isequaltostring – ipmcc

0

Вы забыли @ перед строкой:

self.view.backgroundColor = [self getColorFromString:@"red"]; 
+0

Это была проблема с копией, которую я сделал, это не решает проблему. Сожалею. – junyi00

Смежные вопросы