51 votes

Comment ajouter nil à nsmutablearray?

 NSArray *array = [[NSArray alloc] initWithObjects:@"ΕΛΤΑ",
                      @"ΕΛΤΑ COURIER", @"ACS", @"ACS ΕΞΩΤΕΡΙΚΟ", 
                      @"DHL", @"INTERATTICA", @"SPEEDEX", 
                      @"UPS", @"ΓΕΝΙΚΗ ΤΑΧΥΔΡΟΜΙΚΗ", @"ΜΕΤΑΦΟΡΙΚΕΣ ΕΞΩΤΕΡΙΚΟΥ", nil];
 

Cela fonctionne parce qu'il n'y a rien à la fin.

Mais j'ajoute des objets comme celui-ci: addObject:name etc ... Donc, à la fin, je dois ajouter nil. Je fais ceci addObhect: nil, mais lorsque je lance l'application, il se bloque toujours à cellForRowAtIndexPath:

Comment puis-je faire ce travail?

Ok, je n'ai pas besoin d'ajouter rien

Quelle est la raison pour laquelle mon application se bloque alors?

232voto

akosma Points 6336

Si vous devez ajouter un objet nil à une collection, utilisez la classe NSNull :

La classe NSNull définit un objet singleton utilisé pour représenter les valeurs null dans les objets de collection (qui n'autorisent pas les valeurs nil).

En supposant que "tableau" est de type NSMutableArray:

 ....
[array addObject:[NSNumber numberWithInt:2];
[array addObject:@"string"];
[array addObject:[NSNull null]];
 

26voto

Mike Weller Points 28387

Vous n'avez pas besoin d'appeler [addObject:nil]

Les nil en initWithObjects: servent uniquement à indiquer la méthode où la liste se termine, en raison de la façon dont C varargs fonctionne. Lorsque vous ajoutez des objets un à un avec addObject: vous n'avez pas besoin d'ajouter un zéro.

19voto

Mr-sk Points 5604

Vous ne pouvez pas ajouter nil lorsque vous appelez addObject .

15voto

David Grant Points 2629

Si vous voulez vraiment un article Null-ish dans votre collection, NSNull est là pour ça.

6voto

Tomen Points 2391

nil est utilisé pour terminer le tableau

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X