这是我在控制台中输入的字符串。
device type-------------(
mobile,
"<null>",
tablet
如何处理第二个值。我尝试了以下方式,但无法正常工作,这些线路上的应用程序会被杀死。
if([dType isEqualToString:@"<null>"])
if([dType isEqualToString:@""])
if([dType isEqualToString:@"null"])
以上工作都没有。请指导以上内容。 提前谢谢。
答案 0 :(得分:1)
if (dType == (NSString *)[NSNull null])
{
// your logic here
}
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以检查 [字符串长度] == 0。这将检查它是否有效但空字符串(@“”)以及它是否为零,因为在nil上调用length也将返回0。
或者,您也可以尝试使用[string isEqual:[NSNull null]];
答案 3 :(得分:0)
我在我的Defines.h文件中使用了两个宏
#define NULLVALUE(m) (m == nil ? @"" : m)
#define NULLVALUE1(m) (m == nil ? @" " : m)
它将空值更改为“”或空格“”易于处理。
答案 4 :(得分:0)
你可以像这样检查
if ([YOUR_STRING isKindOfClass:[NSNull class]] || YOUR_STRING == nil ) {
}
答案 5 :(得分:0)
+(NSString *) removeNull:(NSString *) string {
if ([string isEqual:[NSNull null]] ) {
return @"";
}
if ([string isEqualToString:@"<null>"]) {
return @"";
}
if ([string isEqualToString:@"null"]) {
return @"";
}
@try {
NSRange range = [string rangeOfString:@"null"];
////////NSLog(@"in removeNull : %d >>>> %@",range.length, string);
if (range.length > 0 || string == nil) {
string = @"";
}
range = [string rangeOfString:@"<null>"];
////////NSLog(@"in removeNull : %d >>>> %@",range.length, string);
if (range.length > 0 || string == nil) {
string = @"";
}
}
@catch (NSException *exception) {
return @"";
}
@finally {
}
string = [self trimString:string];
return string;
}
------------------------------这样打电话 NSString * strFb = [classname removeNull:YourString];