¿Cuál es el equivalente de Objective-C de la función JavaScript concat()
?¿Cómo combinaría dos matrices en Objective-C?
Suponiendo que ambos objetos son matrices, ¿cómo los combinaría?
¿Cuál es el equivalente de Objective-C de la función JavaScript concat()
?¿Cómo combinaría dos matrices en Objective-C?
Suponiendo que ambos objetos son matrices, ¿cómo los combinaría?
NSArray
's arrayByAddingObjectsFromArray:
es más o menos equivalente al método de JavaScript .concat()
:
NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray];
Nota: Si firstArray
es nula, newArray
será nulo. Esto se puede solucionar mediante el uso de lo siguiente:
NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
Si se quieren eliminar de salida duplicados:
NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects];
¿Esto requeriría un 'firstArray' para ser un' NSMutableArray'? – Moshe
no, es un método en NSArray – codelark
@Moshe Devuelve un nuevo objeto NSArray (inmutable) y no altera la matriz original, por lo que funciona bien en objetos NSArray. – grahamparks
He aquí una & manera simple simétrica con sólo empezando con una matriz vacía:
NSArray* newArray = @[];
newArray = [newArray arrayByAddingObjectsFromArray:firstArray];
newArray = [newArray arrayByAddingObjectsFromArray:secondArray];
Parece que estás haciendo operaciones calendáricas. Considere usar 'NSCalendar' y' NSDateComponents' y sus amigos para que lo hagan por usted. No son un tema trivial. ¿Estás teniendo en cuenta los meses bisiestos? ¿Qué tal el horario de verano? ¿Qué pasa con los segundos intercalares? etc. –
@DaveDeLong - En este momento estoy portando una pequeña biblioteca de Javascript. Voy a estar refactorizando el código una vez que haya terminado con la reescritura real. Mi primer objetivo es obtener la información en Objective-C y optimizarla más adelante. – Moshe