iOS4 - пытается изменить строковое значение - PullRequest
0 голосов
/ 24 января 2012

Мне нужно изменить строковое значение, если оно соответствует определенным критериям, но мне пока не везет.Я не уверен, что это входная строка или я делаю что-то в корне неправильно - вот мой код:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSMutableString *stadium = [NSMutableString stringWithString:[prefs stringForKey:@"stadiumname"]]; 

NSLog(@"stadium: %@", stadium);  


if([prefs stringForKey:@"stadiumname"]==@"Brighton & Hove")
{
    [stadium setString:@"Hove"];
}

if([prefs stringForKey:@"stadiumname"]==@"Monmore Green")
{
    [stadium setString:@"Monmore"];
}

NSLog(@"stadium: %@", stadium);

В выводе NSLog с обеих сторон я все еще получаю "Brighton & Hove" или "Monmore Green ", а не просто" Hove "или" Monmore ", как я ожидал.Я попытался изменить поле ввода, чтобы учесть возможное кодирование, выполнив:

NSMutableString *stadium = [NSMutableString stringWithString:[[prefs stringForKey:@"stadiumname"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

, но это не имеет значения.Будет ли NSLog отображать какую-либо кодировку в строке в любом случае?

Мне просто нужно иметь возможность использовать укороченную строку, как только она выйдет на другую сторону, но пока не повезло.

Может кто-нибудьпросвети меня?

1 Ответ

1 голос
/ 24 января 2012

это из-за того, как вы сравниваете строку, поэтому вместо

if([prefs stringForKey:@"stadiumname"]==@"Brighton & Hove")

используйте

if([[prefs stringForKey:@"stadiumname"] isEqualToString:@"Brighton & Hove"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...