Frage

Ich habe zwei Arrays in Objective C, und ich brauche zu finden, was Index etwas, so kann ich es an der gleichen Stelle einzufügen. Zum Beispiel kann sagen, ich einen „Namen Array“ habe und ein „Alters Array“. Wie finde ich heraus, was Index „Charlie“ in dem „Namen Array“ ist so weiß ich, wo sein Alter im „Alter“ Array einfügen?

Danke

War es hilfreich?

Lösung

-[NSArray indexOfObject:] scheint die logische Wahl zu sein

Andere Tipps

In Cocoa, parallel Arrays sind ein Weg und ruination zum Verhängnis. Sie können sie nicht effektiv mit Bindungen verwenden, so dass Sie stattdessen viel Glue Code schreiben müssen werde, als ob Bindungen nicht existierte. Darüber hinaus sind Sie eine weitere Apple / Scripting-Brücke Unterstützung Abtötung Sie beabsichtigen, können zu haben, bevor Sie es sogar zu implementieren beginnen.

Der richtige Weg ist eine Modellklasse mit name und age Eigenschaften zu erzeugen, und ein einzelnes Array von Instanzen dieser Klasse hat. Dann ein Element nach Name oder Alter zu finden, verwenden Sie NSPredicate das Array zu filtern, und indexOfObjectIdenticalTo: den Index jedes Element aus der gefilterten Reihe in dem Hauptarray zu finden.

Der Unterschied zwischen indexOfObject: und indexOfObjectIdenticalTo: ist, dass die ehemalige isEqual:-Nachrichten senden, um zu bestimmen, ob jedes Objekt ist das für sie sucht, während letztere nur für das spezifische Objekt betrachtet, werden Sie in übergeben. So Sie indexOfObject: können mit ein Objekt, das nicht in der Anordnung ist aber gleich eines ist, das heißt, um das gleiche Objekt im Array zu finden.

Sie können nur wollen eine NSDictionary auch verwenden, wenn Sie Lookups tun basierend auf Zeichenfolgen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top