Was ist das Objective-C-Äquivalent der JavaScript- concat()Funktion?
Angenommen, beide Objekte sind Arrays, wie würden Sie sie kombinieren?
Was ist das Objective-C-Äquivalent der JavaScript- concat()Funktion?
Angenommen, beide Objekte sind Arrays, wie würden Sie sie kombinieren?
Antworten:
NSArray's entspricht arrayByAddingObjectsFromArray:mehr oder weniger der JavaScript- .concat()Methode:
NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray];
Hinweis: Wenn firstArrayNull ist, newArrayist 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];
firstArrayzu sein NSMutableArray?
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];
NSCalendarundNSDateComponentsund 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.