2017-02-07 2 views
0

ich versucht haben, wie unten ein Wörterbuch zu meiner plist Datei hinzufügen:Hinzufügen Wörterbuch Array in plist Datei

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<array> 
    <dict> 
    <key>id</key> 
    <string>4</string> 
    <key>inlat</key> 
    <real>49.7930491922698</real> 
    <key>inlong</key> 
    <real>9.92656307493522</real> 
    <key>titel</key> 
    <string>Würzburg</string> 
    <key>flussname</key> 
    <string>Main</string> 
    <key>ort</key> 
    <string>Würzburg</string> 
    <key>land</key> 
    <string>Deutschland</string> 
    <key>poiart</key> 
    <string>Playspot</string> 
    <key>charakter</key> 
    <string>Welle</string> 
    <key>mindestpegel</key> 
    <string>-</string> 
    <key>besonderheiten</key> 
    <string>Hochwasserspot</string> 
    <key>pegellink</key> 
    <string>www.xxx.html</string> 
    <key>beschreibungslink</key> 
    <string>www.xxx.html</string> 
    <key>fotolink</key> 
    <string>www.xxx.html</string> 
    <key>outlat</key> 
    <real>48.7930491922698</real> 
    <key>outlong</key> 
    <real>8.92656307493522</real> 
    </dict> 
    </dict> 
</plist> 

Ich habe seit zwei Monaten bei Google gesucht und versucht, diese Daten in meinem plist zu speichern Datei in einer Funktion, die Sie unten sehen.

Bitte geben Sie mir ein Beispiel oder einen Tipp, wo ich ein Tutorial finden könnte, da ich wirklich verloren bin.

Vielen Dank im Voraus für Ihre Hilfe

Antwort

-1

Probieren Sie etwas wie dies zum Beispiel:

// Create the new dictionary that will be inserted into the plist. 
NSMutableDictionary *nameDictionary = [NSMutableDictionary dictionary]; 
[nameDictionary setValue:@"FirstName LastName" forKey:@"fullName"]; 
[nameDictionary setValue:@"123 North Rd" forKey:@"address"]; 

// Open the plist from the filesystem. 
NSMutableArray *plist = [NSMutableArray  arrayWithContentsOfFile:@"/path/to/file.plist"]; 
if (plist == nil) plist = [NSMutableArray array]; 
[plist addObject:nameDictionary]; 
[plist writeToFile:@"/path/to/file.plist" atomically:YES]; 
+2

Die Frage des OP verwendet Swift. Ihre Antwort lautet Objective-C. Unabhängig davon sollten Sie 'setValue: forKey nicht verwenden:' Das ist eine KVO-Methode. Sie sollten 'setObject: forKey:' verwenden –

0

plists nur eine sehr geringe Anzahl von Datentypen speichern. Versuchen Sie, sowohl Ihren Schlüssel als auch Ihren Wert an NSString s zu übergeben. Schützen Sie auch Ihren Lesevorgang des Wörterbuchs mit einer Guard-Anweisung und drucken Sie einen Fehler, wenn dieser fehlschlägt:

guard let data = NSMutableDictionary(contentsOfFile: documentsDirectory) else { 
    print(Error reading data from file \(documentsDirectory)") 
    return 
} 

data[TitelKey as NSString] = Titel as NSString 
Verwandte Themen