2017-03-08 2 views
0

Vor allem vielen Dank für Ihren Besuch und hier ist meine Frage.Beste Speicherbelegung

Ich arbeite an einem Projekt, wo ich ein Array verwenden, das viele Informationen enthält (etwa 300 Variablen jede Variable ist etwa 25 Zeichen). Also meine Frage hier ist Was ist der beste Weg, um es zu speichern ... ?? Ich habe zwei mögliche Art und Weise und mir bitte sagen, was besser ist ...

Erster Weg: Machen Sie einen normalen lokalen, wo ich alle benötigten Informationen speichern kann, und natürlich wird es auf dem RAM (Was gespeichert werden wie ich weiss).

Zweiter Weg: Um sie in einer Datei zu speichern und wenn ich das Array brauche, lese ich einfach die Daten aus der Datei und bekomme das Array.

Hinweis: Das Array wird gelegentlich und nicht jedes Mal verwendet.

Meine zweite Frage ist:

Gibt es einen möglichen Fehler, die auf der Festplatte auftreten können, wenn ich das Programm Schreib gemacht und so viele Zeit in einem kurzen Zeitraum von time.And lesen, wenn ja, was ist die min Zeit kann ich sicher und ohne jeden möglichen Fehler schreiben und lesen ... ???

Dank im Voraus

+0

300 25 Zeichen Strings ist nicht "eine Menge Informationen" überhaupt. Sie können es sicher im Speicher behalten. – pvg

Antwort

0

Lesen und Schreiben von Dateien sind sehr langsamen Betrieb im Vergleich Zugriff auf RAM. 300 Strings mit je 25 Elementen würden mit modernem RAM nicht zu viel Platz verbrauchen. Wenn Sie nur selten (einmal pro 10 Minuten oder einmal pro Stunde) Zugriff auf diese Daten benötigen, könnten Sie diese Daten wahrscheinlich auf der Festplatte speichern, aber meiner Meinung nach ist es für Sie einfacher, sie für alle im RAM zu speichern Zeit.

Sie können eine Antwort auf Ihre zweite Frage here finden.

+0

Danke Für Ihre Hilfe –

0

Diese Daten, die Sie erwähnt haben, können leicht im Speicher ohne jeglichen Speicherabsturz gespeichert werden. Wenn viel größere Datenmengen gespeichert werden müssen, kann NSKeyedArchiver (zum Speichern von Objekten in einem beliebigen Format im NSData-Format auf Datenträger) verwendet werden oder das CoreData-Framework kann ebenfalls verwendet werden. CoreData Framework unterstützt auch Caching und es ist schneller http://nshipster.com/nscoding/. Hoffe das hilft.

Verwandte Themen