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?

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];

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.


-3

Para un uso conjunto ordenado:

NSArray *myArray = [[myOrderedSet array] mutableCopy];

No parece haber un - arraymétodo NSSet .
Sophie Alpert
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.