繁体   English   中英

此字符串是否为null

[英]Is this string null or not

这是我的字符串在控制台中的输出。

device type-------------(
mobile,
"<null>",
tablet

如何处理第二个值。 我尝试了以下方法,但是在这些行上,应用程序无法正常运行。

if([dType isEqualToString:@"<null>"])
if([dType isEqualToString:@""])
if([dType isEqualToString:@"null"])

以上都不是。 请指导以上内容。 提前致谢。

 if (dType == (NSString *)[NSNull null])
    {
       // your logic here
    }

而不是比较字符串。 始终建议您检查字符串的长度。 喜欢 :

[yourString length] == 0

并且,检查条件。 您也可以检查一下 希望能有所帮助。

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

另外,您可以尝试使用[string isEqual:[NSNull null]];

为此,我在Defines.h文件中使用了两个宏

#define NULLVALUE(m)                    (m == nil ? @"" : m)
#define NULLVALUE1(m)                    (m == nil ? @" " : m)

它将空值更改为“”或易于处理的空格“”。

你可以这样检查

if ([YOUR_STRING isKindOfClass:[NSNull class]] || YOUR_STRING == nil ) {

}
+(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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM