Objective-C Objecive-C 如何判断 NSString 为空 写 Objective-C 代码时常需要判断字符串是否为空,最简洁的代码是 if ([string length] == 0) { // ... } 上面的条件可以正确判断长度为0的字段串(@""),以及空字符串(string 为 nil 或 [NSNull null])。因为对 nil 调用 length 同样会返回0。 实际上,对 nil 发任何消息,返回值都为0。这一行为在下面的第二条参考资料中有详细说明。这种约定是出于方便使用的考虑,但牺牲了一定的安全性。 参考 How
iOS Objective-C 中不同类型的“空值” 以 NSDictionary 的 objectForKey 方法为例,如果字典中不存在指定的 key,返回值为 nil,如果指定的 key 存在,但是值为空,返回值则是 [NSNull null]。 There are three possible interpretations of "null" NSString: someStringPtr == nil (id)someStringPtr == [NSNull null] someStringPtr.