我有一个小问题。看起来很简单,但我没有让它工作。 我想要的只是检查一个字符串是否为空。这是我到目前为止所做的:
if(mystring.text != @""){
myPath = [myPath stringByAppendingString:mystring.text];
}
答案 0 :(得分:8)
要将NSString
与另一个进行比较,您可以使用isEqualToString
。你正在检查不平等,所以它会是:
NSString *text = ...;
if (![text isEqualToString:@""]) {
...
}
但实际上,既然你只是检查字符串是否为空,那么你需要像
这样的东西NSString *text = ...;
if ([text length] != 0) {
...
}
请注意,如果text
为nil
,则if
- 语句中的代码将不会执行。这是因为[nil length]
将返回0
。有关详细信息,请参阅Apple文档中的"Sending Messages to nil"。
我怀疑mystring.text
在你的情况下是NSString
,所以它会是
if ([mystring.text length] != 0) {
myPath = [myPath stringByAppendingString:mystring.text];
}
答案 1 :(得分:3)
你可以尝试以下几行代码:
NSString *trimedString = [someString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if(trimedstr != [NSNull null]&& ![trimedstr isEqualToString:@""])
{
if([trimedstr length]>0)
{
NSLog(@"%@", trimedstr);
}
else
NSLog(@"%@",@"this is empty string");
}
答案 2 :(得分:0)
我会使用类似的东西:
if(someString && [someString lenght])
// string is not empty
答案 3 :(得分:0)
我通常检查长度是否> 0表示正测试用例,如果为nil也会处理。
类似于:if ([someString length] > 0) { // do something with someString }