此字符串是否为null

时间:2013-02-13 05:10:38

标签: iphone nsstring

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

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

如何处理第二个值。我尝试了以下方式,但无法正常工作,这些线路上的应用程序会被杀死。

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

以上工作都没有。请指导以上内容。 提前谢谢。

6 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

[yourString length] == 0

并检查条件。您还可以查看this。希望这有帮助。

答案 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];