如果符合某些条件,我需要更改字符串值,但到目前为止我没有运气。我不确定它是输入字符串还是我做了一些根本错误的事情 - 这是我的代码:
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会不会在字符串中显示任何编码?
我只需要能够使用缩短后的字符串,但是到目前为止没有运气。
任何人都可以启发我吗?
答案 0 :(得分:1)
这是因为你比较字符串,所以而不是
if([prefs stringForKey:@"stadiumname"]==@"Brighton & Hove")
使用
if([[prefs stringForKey:@"stadiumname"] isEqualToString:@"Brighton & Hove"])