2

可能重复:
如何在 Objective C 中测试字符串是否为空?

我一直在查看 Apple 的文档以寻找一个相对基本的功能,我无法想象他们不会有一个功能来查看一个字符串是空/nil 还是空空格。我也用谷歌搜索过这个。我发现的唯一事情是人们就如何创建自己的函数来测试空字符串提供建议。

在 .NET 中,我要说的是

If (String.IsNullOrEmpty(txtTextBox.Text)) {
// Action
}

Cocoa 是否与 .NET 的 String 类中的 IsNullOrEmpty 等效?

4

1 回答 1

7

您可以检查是否[string length] == 0. 这将检查它是否是一个有效但为空的字符串 (@"") 以及它是否为 nil,因为在 nil 上调用 length 也将返回 0。

编辑:在阅读了您上面的评论后,我意识到我错过了您对空/零以及空格(技术上不是空的)的担忧之一。我不知道检查所有这三个条件的内置方法,但一个简单的解决方案是在测试期间从字符串中删除空格。例如:

NSString *str = @"   ";    //3 white spaces
if([str stringByTrimmingCharacterInSet: [NSCharacterSet whitespaceCharacterSet]] length] == 0)
{
        NSLog(@"String is empty, nil or full of whitespace!");
}

结果String is empty, nil or full of whitespace

whitespaceAndNewlineCharacterSet如果更适合您的需求,您也可以使用。我建议创建一个单独的方法,例如StringIsNullOrEmpty接受字符串并执行上述测试。

资料来源:如何在 Objective C 中测试字符串是否为空?

于 2013-01-03T17:42:24.077 回答