Ich habe in meinem System eine Liste von Ländern und eine Liste von Staaten für jedes Land der Welt. Diese Inhalte werden in meiner Datenbank gespeichert, und ich kann über eine REST-Anfrage darauf zugreifen. Länder und Staaten, in der These, sind ein statischer Inhalt (ich plane nicht, diese Register zu ändern, aber schließlich, vielleicht werde ich ...). Im Moment mache ich eine GET-Anfrage, jedes Mal wenn ich ein Land brauche, und jedes Mal, wenn ich einen Staat brauche, mache ich auch ein GET, indem ich die ID des Landes verwende. Meine Frage ist: Gibt es ein gutes Muster, das diese Art von Frage abdeckt? Wo soll ich Länder und Staaten in meinem System behalten? Soll ich es auf NSUserDefaults speichern?Sollte ich den Inhalt von PickerViews in NSUserDefaults beibehalten?
Antwort
Sie können eine JSON-Datei die Liste der Ländername und Name in Ihrem Anwendungspaket enthalten :) Da Länder und Staaten wird nicht ändern sehr häufig fest codierten Daten in Ihrem Anwendungspaket :)
haben ihre sichere Nehmen wir an, Sie Ihre Länderdaten in einer Datei Countries.json
Sie unter Verwendung
genannt speichernlesenThats it :) Sie haben Ihre Länderauswahl mit Ihnen Kumpel :)
ODER
Wenn Sie nicht wollen, das Land auf eigene Faust speichern, sobald Sie die Länderliste mit GET-Anfrage holen speichern Sie die Antwort in einer Datei in Ihrer Anwendung Dokumentordner :)
Und ab nächste Zeitdaten aus der gleichen Datei lesen :)
NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* fileName = @"countries.json";
NSString* fileAtPath = [filePath stringByAppendingPathComponent:fileName];
if ([[NSFileManager defaultManager] fileExistsAtPath:fileAtPath]) {
NSData *data = [NSData dataWithContentsOfFile:fileAtPath];
NSError *localError = nil;
NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&localError];
}
else {
//make webservice call fetch the country list and write it to file :)
}
die gesamte Welt-Länderliste und ihr Kapital in Benutzervoreinstellung Speicher ist nicht preferrable Kumpel :) und es jedes Mal vom Server erhalten wird Verzögerung frönen Picker den Benutzer zu zeigen :)
mein Vorschlag So speichern Sie eine Datei in Anwendungsbündel und lese es, wann immer du den Datenpartner willst :)
Ich empfehle nicht, diese Informationen auf NSUserDefaults zu speichern, Sie haben nicht genug, um CoreData zu verwenden, aber Sie können archivieren!
Es gibt eine gute Verbindung, wenn Sie NSUserDefault verwenden möchten trotzdem: Using NSUserDefaults on arrays
- 1. Wie wird die Zellenauswahl in NSUserDefaults beibehalten?
- 2. Sollte ich diese Anwendungsdaten beibehalten?
- 3. Sollte ich den Inhalt von Browser/Javascript-Speicher verschlüsseln?
- 4. Sollte ich mich wegen Kollisionen in NSUserDefaults sorgen?
- 5. Welches Format sollte das NSUserDefaults-Objekt für den Array-Index
- 6. Mehrere PickerViews in einer Ansicht?
- 7. Sollte ich JDBC-Verbindung beibehalten oder nicht?
- 8. Wie kann ich Canvas-Inhalt in Elm zwischen Updates beibehalten
- 9. Wie könnte ich 3 PickerViews in der gleichen Ansicht verwenden?
- 10. NSUserDefaults: Dumping der Struktur von NSUserDefaults standardUserDefaults
- 11. Verwenden ich NSUserDefaults falsch?
- 12. Sicherheit von NSUserDefaults in Swift
- 13. Mehrere PickerViews mit mehreren Textfield Inputviews swift
- 14. Wie dehne ich den Inhalt in html
- 15. Wie bekomme ich Daten in NSUserDefaults, wenn offline von Parse
- 16. Wie ändere ich den Inhalt von Email Vorlagen in MediaWiki
- 17. NSUserDefaults boolforKey Einschränkung von Design?
- 18. Swift beibehalten Textfeld Inhalt in UIPageViewController beim Streichen
- 19. NSUserDefaults removeObjectForKey
- 20. Verwenden von NSUserDefaults zu viel
- 21. Capybara: sollte HTML-Inhalt haben
- 22. Wie kann vim den Inhalt von Register beim Einfügen über ausgewählten Text beibehalten?
- 23. Abrufen eines Int von NSUserDefaults
- 24. Wie setze ich AppBarLayout über den Inhalt?
- 25. Lesen von pList durch NSUserDefaults
- 26. Von NSUserDefaults zu NSCoding wechseln
- 27. Zeige den Inhalt von Mehrere select
- 28. NSDictionary in NSUserDefaults speichern
- 29. NSUserDefaults Leistungsvergleich
- 30. Speichern und Wiederherstellen von NSMutablearray in NSUserdefaults