Objecive-C 如何判断 NSString 为空

写 Objective-C 代码时常需要判断字符串是否为空,最简洁的代码是

if ([string length] == 0)
{
    // ...
}

上面的条件可以正确判断长度为0的字段串(@""),以及空字符串(stringnil[NSNull null])。因为对 nil 调用 length 同样会返回0。

实际上,对 nil 发任何消息,返回值都为0。这一行为在下面的第二条参考资料中有详细说明。这种约定是出于方便使用的考虑,但牺牲了一定的安全性。

参考