7

配列がFacebookから埋められているので、私は生年月日の配列を持っているので、生年月日が非公開であるため、NULLが含まれている友人がいます.null値がある場合はどこでもその配列を空の文字列のように変換する方法は次のとおりです。配列は以下のようになります

"<null>",
"10/29/1988",
"11/13",
"03/24/1987",
"04/25/1990",
"03/13",
"01/01",
"<null>",
"12/15/1905",
"07/10",
"11/02/1990",
"12/30/1990",
"<null>",
"07/22/1990",
"01/01",
"07/17/1989",
"08/28/1990",
"01/10/1990",
"06/12/1990",
4

6 に答える 6

14

値は、Cocoa コレクションでを表すために通常使用されるオブジェクトではなく、文字列リテラルのnullように見えます。のメソッドを使用してそれらを除外できます。@"<null>"NSNullnilNSArrayfilteredArrayUsingPredicate

NSArray *filtered = [original filteredArrayUsingPredicate:pred];

の作り方はいくつかありますがpred、その一つが

NSPredicate *pred = [NSPredicate predicateWithBlock:^BOOL(id str, NSDictionary *unused) {
    return ![str isEqualToString:@"<null>"];
}];
于 2013-03-08T10:42:55.597 に答える
12

これを使用して、実際の [NSNull null] 値を削除する必要があります。

 [array removeObjectIdenticalTo:[NSNull null]];
于 2013-06-24T18:49:44.630 に答える
3

これは私のために働く:

NSMutableArray *array = [NSMutableArray arrayWithObjects:
                         @"<null>",
                         @"10/29/1988",
                         @"11/13",
                         @"03/24/1987",
                         @"04/25/1990",
                         @"03/13",
                         @"01/01",
                         @"<null>",
                         @"12/15/1905",
                         @"07/10",
                         @"11/02/1990",
                         @"12/30/1990",
                         @"<null>",
                         @"07/22/1990",
                         @"01/01",
                         @"07/17/1989",
                         @"08/28/1990",
                         @"01/10/1990",
                         @"06/12/1990", nil];
NSLog(@"%d", [array count]);
NSString *nullStr = @"<null>";
[array removeObject:nullStr];
NSLog(@"%d", [array count]);
于 2013-03-08T10:42:09.547 に答える