0

これは、コンソールでの私の文字列の出力です。

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

2 番目の値の処理方法。私は次の方法を試しましたが、これらの行でアプリがここで殺されません。

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

上記のいずれも機能しません。以上をご案内いたします。前もって感謝します。

4

6 に答える 6

1
 if (dType == (NSString *)[NSNull null])
    {
       // your logic here
    }
于 2013-02-13T05:23:27.187 に答える
0

このように確認できます

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

}
于 2013-02-13T05:33:24.813 に答える
0

文字列を比較する代わりに。文字列の長さを確認することを常にお勧めします。お気に入り :

[yourString length] == 0

そして、状態を確認してください。これも確認できます。この助けを願っています。

于 2013-02-13T05:12:36.587 に答える
0

[string length] == 0かどうかを確認できます。nil で length を呼び出すと 0 も返されるため、これは有効であるが空の文字列 (@"")であるかどうかと、nil であるかどうかを確認します。

あるいは、あなたも試すことができ[string isEqual:[NSNull null]];ます

于 2013-02-13T05:12:45.907 に答える
0

これには、Defines.h ファイルで 2 つのマクロを使用します。

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

null 値を "" またはスペース " " に変更すると、扱いやすくなります。

于 2013-02-13T05:15:49.937 に答える
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]; のように呼び出します。

于 2013-02-13T05:52:42.957 に答える