Ich weiß, dass es viele Themen mit ähnlichen Problemen gibt, aber ich konnte kein Thema zu meiner Frage finden.schreibe einen Plist in Ziel c
Ich möchte eine Reihe von Highscores speichern.
Jeder Eintrag von Highscores muss zwei Elemente haben
ein NSString * und ein int.
Ich möchte die Top 20 High Scores (Paare von Strings und Ints) speichern und das in einem Plist tun.
Ich beginne mit:
NSMutableArray *arr = [[NSMutableArray alloc] initWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Mylist" ofType:@"plist"]];
ich das Element 0 des Arrays will ein Wörterbuch sein, wo ich Schlüsselwertepaare einfügen kann (string, int)
Wie mache ich das?
Drei Kommentare: 1. Ist das Wurzelelement Ihres Plist wirklich ein Array? Ich bezweifle. Sie möchten lieber ein NSMutableDictionary für Ihren Zweck initialisieren. 2. Dann können Sie kein Objekt am Index 0 einfügen, da das Wörterbuch eine * ungeordnete * Sammlung ist. 3. Bevor Sie es in einer anderen Frage stellen: Sie werden NICHT in der Lage sein, den PLIST in das Hauptbündelverzeichnis der App umzuschreiben, da eine App möglicherweise nicht in ihr eigenes Bundle schreiben kann. –
Auch wenn Sie NSMutableDictionary-Objekte in Ihrem Array speichern und speichern, sind sie beim Laden unveränderlich. ([NSArray-Klassenreferenz für initWithContentsOfFile] (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/ initWithContentsOfFile :) sagt "Die Objekte in diesem Array sind unveränderlich, auch wenn das Array veränderbar ist.") – Dondragmer