2012-02-08 14 views
13

muszę usunąć Null przedmiot dodany przezJak mogę usunąć [NSNull Null] obiekty z NSMutableArray?

[mutArrSkills addObject:[NSNull null]]; 

Czy muszę iteracyjne? Czy istnieje jakaś funkcja do usuwania wszystkich wartości pustych z NSMutableArray?

Jeśli trzeba powtórzyć, jak mam to zrobić?

+1

the removeObjectIdenticalTo również itrate tablicę, więc dlaczego nie rób sobie siebie. –

Odpowiedz

30

Można użyć removeObjectIdenticalTo: metodę NSMutableArray „s, co następuje

[mutArrSkills removeObjectIdenticalTo:[NSNull null]]; 

usunąć wartości null. Nie ma potrzeby powtarzania.

+0

Aure you sure? Nie jestem, ponieważ "Obiekty są uważane za identyczne, jeśli ich adresy obiektów są takie same." Jak powinieneś wiedzieć, "[NSNull null]! = [NSNull null]' ... – Nekto

+0

Tak, w tym przypadku elementy dodane przez '[mutArrSkills addObject: [NSNull null]]; 'są usunięty z tego połączenia. – Ilanchezhian

+0

Tak.it działa poprawnie – Heena

1

removeObjectIdenticalTo:

usuwa wszystkie wystąpienia danego obiektu w tablicy.

Dyskusja Ta metoda wykorzystuje indexOfObjectIdenticalTo: metody lokalizowania mecze, a następnie usuwa je za pomocą removeObjectAtIndex :. W związku z tym dopasowania są określane za pomocą adresów obiektów. Jeśli tablica nie zawiera anObject, metoda nie ma żadnego efektu (mimo, że nakłada się na nią przeszukanie zawartości).

+0

Aure you sure? Nie jestem, ponieważ "Obiekty są uważane za identyczne, jeśli ich adresy obiektów są takie same." Jak powinieneś wiedzieć, '[NSNull null]! = [NSNull null]' ... – Nekto

+0

@Nekto pls odsyła moją odpowiedź. – sElanthiraiyan

-1

Możesz tak iterować.

for(int i=0,i<[mutArrSkills count]; i++) 
{ 
    if([[mutArrSkills objectAtIndex:i] isKindOfClass:[NSNull Class]]) 
    { 
    [mutArrSkills removeObjectAtIndex:i]; 
    } 
} 
+2

To nie działa, jeśli masz dwa kolejne obiekty NSNull w tablicy. – gnasher729

1

Można próbować robić to,

NSNull *nullValue = [NSNull null]; 

[mutArrSkills removeObjectIdenticalTo:nullValue]; 

Mam nadzieję, że to pomaga.

Powiązane problemy