Wie verwende ich NSUserDefaults, um ein Array von benutzerdefinierten Klassen in Swift zu speichern?

8

Ich habe eine benutzerdefinierte Klasse namens Person , die verschiedene Attribute über jemanden speichert, wenn sie Informationen eingeben.

%Vor%

Sobald das Wörterbuch erstellt wurde, wird es in ein Array platziert. Ich habe Probleme beim Speichern des Arrays in NSUserDefaults , wenn eine Schaltfläche angetippt wird.

%Vor%

Ich habe mir benutzerdefinierte Objekte in NSUserDefaults und Benutzerdefinierte SWIFT-Klasse mit NSCoding in UserDefaults speichern Ich hatte kein Glück und finde es schwer zu verstehen.

Wenn ich einfach versuche, in NSUserDefaults zu speichern, wird mir Folgendes gesagt:

%Vor%

Würde jemand mir helfen können, tatsächlich ein Array von benutzerdefinierten Objekten (benutzerdefinierte Wörterbücher) über NSUserDefaults zu speichern?

    
Daniel Bramhall 27.07.2016, 08:37
quelle

3 Antworten

13

Ihre Personenklasse sollte folgendermaßen aussehen:

Schnell 3:

%Vor%

Und hier haben Sie ein Beispiel zum Speichern und Abrufen des Arrays von NSUserDefaults:

%Vor%

Swift 4:

%Vor%     
vladiulianbogdan 27.07.2016, 09:08
quelle
5

Sie müssen das Protokoll NSCoding implementieren, um ein benutzerdefiniertes Objekt in NSUserDefaults zu speichern. Sehen Sie sich dieses Beispiel Ссылка

an     
iMuzahid 27.07.2016 08:46
quelle
0

Schnell 4

  • Bestätigen Sie das kodierbare Protokoll Ihrer Klasse
  • Serialisieren (Daten) Ihres Objekts mit der JsonEncoder-Klasse
  • Speichern Sie Ihre Daten jetzt in userDefaults

Siehe diese Antwort, um eine klare Vorstellung zu bekommen Array von benutzerdefiniertem Swift-Objekt in userDefaults speichern

    
Kazi Abdullah Al Mamun 25.01.2018 09:28
quelle

Tags und Links