我有一个C数组,声明为char * arrayOfVarNames[3];
此数组由一些api填充,此数组中的字符串再次由objective-C方法使用。
我想知道在传递给objective-C方法之前,arrayOfVarNames [3]中是否有空字符串。 NSString *tempString = [NSString stringWithCString:arrayOfVarNames[i] encoding:NSUTF8StringEncoding];
无论如何要检查空字符串?
答案 0 :(得分:2)
一个简单的if
声明:
NSString *tempString = nil;
if (arrayOfVarNames[i]) {
// It's not NULL
tempString = [NSString stringWithCString:arrayOfVarNames[i] encoding:NSUTF8StringEncoding];
} else {
tempString = @""; // or some other appropriate action
}
答案 1 :(得分:0)
一行代码解决方案:
NSString *tempString = NULL == arrayOfVarNames[i] ? nil : [NSString stringWithCString:arrayOfVarNames[i] encoding:NSUTF8StringEncoding];
答案 2 :(得分:0)
根据您对空字符串的含义,您可以测试:
NULL
:!p
!*p
请注意,某些接口会将这些情况作为可互换的处理,因此您必须将它们都接受为空字符串。