Cómo devolver un NSMutableArray desde un NSSet

104

Puedo poner el contenido de una NSSeten una NSMutableArraycomo esta:

NSMutableArray *array = [set allObjects];

Sin embargo, el compilador se queja porque [set allObjects] devuelve un NSArraynot an NSMutableArray. ¿Cómo debería solucionarse esto?

ninja del nodo
fuente

Respuestas:

218

Dado que -allObjectsdevuelve una matriz, puede crear una versión mutable con:

NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

O, alternativamente, si desea manejar la propiedad del objeto:

NSMutableArray *array = [[set allObjects] mutableCopy];
Dreamlax
fuente
7
Nota: existe una sutil diferencia en los dos métodos si setes nil.
Zach Langley
-1

Resolví estrellarse mediante el uso de NSMutableArray método 'addObjectsFromArray' asignar todo NSSet objetos a NSMutableArray como:

[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];

Espero que esto te ayude.

Irfan
fuente
-3

Para un uso conjunto ordenado:

NSArray *myArray = [[myOrderedSet array] mutableCopy];
Dustin
fuente
No parece haber un - arraymétodo NSSet .
Sophie Alpert