Was ist das Objective-C-Äquivalent der JavaScript- concat()
Funktion?
Angenommen, beide Objekte sind Arrays, wie würden Sie sie kombinieren?
ios
objective-c
Moshe
quelle
quelle
NSCalendar
undNSDateComponents
und Freunde zu verwenden, um sie für Sie zu erledigen. Sie sind kein triviales Thema. Berücksichtigen Sie Schaltmonate? Wie wäre es mit Sommerzeit? Was ist mit Schaltsekunden? usw.Antworten:
NSArray
's entsprichtarrayByAddingObjectsFromArray:
mehr oder weniger der JavaScript-.concat()
Methode:NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray];
Hinweis: Wenn
firstArray
Null ist,newArray
ist Null. Dies kann wie folgt behoben werden:NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
Wenn Sie Duplikate entfernen möchten:
NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects];
quelle
firstArray
zu seinNSMutableArray
?if (!firstArray) firstArray = @[ ];
Hier ist eine symmetrische und einfache Möglichkeit, indem Sie mit einem leeren Array beginnen:
NSArray* newArray = @[]; newArray = [newArray arrayByAddingObjectsFromArray:firstArray]; newArray = [newArray arrayByAddingObjectsFromArray:secondArray];
quelle
Für die Swift-Version ist es wie ein Charme:
let a = [1,2,3] let b = [3,4] let c = a + b print(c)
quelle