NSString比较

时间:2014-06-18 23:00:17

标签: ios nsstring

以下if条件第一次跳转。我打印臭氧系统和particleString,然后它变成空,但它不会进入条件。它跳了起来。

  NSString *ozoneString=[[NSUserDefaults standardUserDefaults] objectForKey:@"ozoneString"];
  NSString *particleString=[[NSUserDefaults standardUserDefaults] objectForKey:@"particleString"];

  NSLog(@"ozone : %@", ozoneString);
  NSLog(@"particle :%@", particleString);

         if ([particleString isEqual:[NSNull null]] 
             ||[particleString isEqualToString:@""]
             ||[ozoneString isEqual:[NSNull null]] 
             ||[ozoneString isEqualToString:@""])
            {
             NSLog(@"I am in");
            }

enter image description here

2 个答案:

答案 0 :(得分:3)

您的字符串设置为nil

除非您确定在某个时间点存储了实际的NSNull值,否则您的检查应为:

if (ozoneString.length == 0 || particleString.length == 0) {
    NSLog(@"I am in");
}

答案 1 :(得分:2)

您的字符串为nil,缺少对象,而不是[NSNull null],其中 是一个对象,通常用于集合中的占位符。请尝试if(particleString != nil)或类似。

无论出于何种原因,

nil打印为(null),这就是为什么你看到NSLog字符串的原因。