簡體   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