我在使用其中一个条件语句正确显示数据时遇到问题。这是我正在使用的代码:
NSUserDefaults *pickerDefaults = [NSUserDefaults standardUserDefaults];
NSString *myString = [pickerDefaults stringForKey:@"userpicker"];
NSString *string = @"Name1";
NSLog(@"%@",myString); //This prints out Name1
NSLog(@"%@",string); //This also prints out Name1
if (myString == string) {
[pickerArray addObject:@"Name Other"];
}
else {
return;
}
我不能得到这个if语句将该对象添加到UIPicker,尽管两个字符串彼此相等。但是,如果我将其更改为不等于!=那么它将显示UIPickerView中的对象。我不明白我做错了什么。任何帮助都会很棒。感谢。
答案 0 :(得分:4)
要比较字符串对象,请不要使用它们的指针值,而是使用
进行比较[string isEqualToString:myString]
答案 1 :(得分:4)
if (myString == string) // Wrong : It compares address of two NSStrings
if ([myString isEqualToString:string]) // This compares values of NSStrings
{
}