2009-08-11 4 views
0

Ich bin ziemlich neu in der objektorientierten Programmierung (aber fange an, ziemlich schnell aufzuheben) und arbeite an einer Anwendung für das iPhone. Ich muss ein mehrdimensionales Array erstellen (10.000 oder mehr Zeilen, 8 Spalten), das als solches geordnet ist: 3 Spalten sollten boolesche Werte enthalten, einer sollte eine ganze Zahl enthalten, zwei müssen GPS-Koordinaten enthalten (normalerweise eine Dezimalzahl wie 62.422342). man muss eine Zeichenfolge mit 30 Zeichen halten. Gibt es eine einfache Möglichkeit, ein solches Array zu erstellen, und wenn ja, die Array-Elemente vor der Benutzerinteraktion zu definieren?Wie mache ich ein Multidimensionales Array für große Datenspeicher in Obj-c?

Antwort

0

Sie möchten vielleicht jede Zeile zu einem Objekt machen und ein NSArray dieser Objekte behalten. Jede "Spalte" wäre eine Eigenschaft des Objekts. Dies wäre eine gute Wahl, wenn jede Zeile tatsächlich ein Objekt darstellt.

Andernfalls könnten Sie ein NSArray von NSArrays haben, um das 2D-Array darzustellen. Keine perfekte Lösung, weil es möglich ist, Zeilen/Spalten unterschiedlicher Länge zu haben, aber es würde reichen.

Sie können immer Ihre eigene Rolle erstellen und eine Art "Table" -Klasse erstellen, die als 2D-NSArray fungiert und die korrekte Zeilen-/Spaltenlänge erzwingt.

0

Sie sollten sich vielleicht Core Data ansehen und Ihre Daten in einer Datenbank speichern. Ich lese gerade Beginning iPhone 3 Development und es gibt ein Kapitel über Core Data. Es geht nicht sehr ins Detail, aber es ist eine gute Einführung und sollte ausreichen, um loszulegen.

+0

Gibt es Online-Ressourcen für Core Data? Ich habe ein Buch über Programmierung mit Cocoa, vielleicht kann das auch helfen? –

+0

Cocoa Programmieren für Mac OS X (http://www.bignerdranch.com/products.shtml) umfasst einige Core Data und es gibt ein paar Tutorials da draußen, zum Beispiel http://cocoadevcentral.com/articles/000085.php . Es gibt auch einige Sachen direkt von Apple: http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html oder http://developer.apple.com/iphone/library/documentation/ DataManagement/Conceptual/iPhoneCoreData01/Einführung/Einführung.html und wahrscheinlich mehr Schauen Sie sich Google an. –

+0

Eine andere Sache, die ich erwähnen wollte: Core Data ist nur in iPhone OS 3 und höher verfügbar. Wenn Sie also ältere Versionen unterstützen müssen, können Sie Core Data nicht verwenden. –