iOS4 - 尝试更改字符串值

时间:2012-01-24 15:31:00

标签: ios4

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

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输出中,我仍然得到"布莱顿&霍夫"或者" Monmore Green"而不仅仅是" Hove"或" Monmore"正如我所料。我尝试通过执行以下操作来更改输入字段以允许编码:

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

但这没有区别。 NSLog会不会在字符串中显示任何编码?

我只需要能够使用缩短后的字符串,但是到目前为止没有运气。

任何人都可以启发我吗?

1 个答案:

答案 0 :(得分:1)

这是因为你比较字符串,所以而不是

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

使用

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