iOS4-尝试更改字符串值

iOS4-尝试更改字符串值,ios4,Ios4,如果字符串值符合某些条件,我需要更改它,但到目前为止我没有任何运气。我不确定是输入字符串还是我做了一些根本错误的事情-以下是我的代码: NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSMutableString *stadium = [NSMutableString stringWithString:[prefs stringForKey:@"stadiumname"]]; NSLog(@"stadium: %

如果字符串值符合某些条件,我需要更改它,但到目前为止我没有任何运气。我不确定是输入字符串还是我做了一些根本错误的事情-以下是我的代码:

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会在字符串中显示任何编码吗

我只需要能够使用缩短字符串一旦它出来的另一边,但到目前为止没有运气


有谁能告诉我吗?

这是因为你比较字符串的方式,所以

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


天哪,我还在摆弄标签的时候你就回答了!你当然是对的——我会在它让我明白的时候马上做个标记,这是一个很常见的错误,我会说,很高兴我能帮上忙!
if([[prefs stringForKey:@"stadiumname"] isEqualToString:@"Brighton & Hove"])