Kann ein Tupel mit NSCoding
gespeichert werden? Ich habe ein Tupel wie ((UInt8, UInt8), (UInt8, UInt8))
. Aber aCoder.encodeObject(myTuple)
funktioniert nicht. Muss ich das Tupel in NSData
konvertieren oder ist das absolut nicht möglich? Danke für jede HilfeSwift Codetupel mit NSCoding
8
A
Antwort
5
Tuple kann nicht codiert werden, weil es keine Klasse ist, aber ein Ansatz besteht darin, jede Komponente eines Tupels separat zu codieren und dann dekodieren Sie jede Komponente und setzen dann den Wert des Tupels auf ein Tupel konstruiert aus dem dekodierten Inhalt.
0
Ich möchte nur meinen Code teilen, der einige Updates auf der Grundlage von Ians Code hat. Ich habe meins verwendet, um eine Liste der Kategorie/Unterkategorie der Elemente zu erstellen.
class catSubcatOption: NSObject, NSCoding {
var element: (x: String, y: String)!
override init() {
}
public func encode(with aCoder: NSCoder) {
aCoder.encode(element.category, forKey: "category")
aCoder.encode(element.subcategory, forKey: "subcategory")
}
required init(coder decoder: NSCoder) {
let category = decoder.decodeObject(forKey: "category") as! String
let subcategory = decoder.decodeObject(forKey:"subcategory") as! String
element = (category,subcategory)
} }
Verwandte Themen
- 1. NSCoding Fehler mit SKProduct in Swift
- 2. Swift: Entspricht nicht dem Protokoll NSCoding
- 3. Entspricht nicht dem Protokoll 'NSCoding' - Swift 3
- 4. Speichern benutzerdefinierter SWIFT-Klasse mit NSCoding zu UserDefaults
- 5. Speichern Array mit NSCoding
- 6. Swift, NSCoding, um Array einer Klasse zu speichern funktioniert nicht
- 7. Von NSUserDefaults zu NSCoding wechseln
- 8. Cocoa - Wo speichert NSCoding?
- 9. NSUserDefaults vs NSCoding
- 10. Wie speichert man einen NSUInteger mit NSCoding?
- 11. Programmgesteuertes Laden eines mit NSCoding erstellten Objektmodells
- 12. Die Klasse entspricht nicht dem NSCoding-Protokoll
- 13. NSCoding - Objekt zum Schreiben wiederverwenden?
- 14. Hinzufügen von NSCoding als Erweiterung
- 15. Wie gebe ich ein bereits vorhandenes Core Data-Objekt bei der NSCoding-Initialisierung in Swift zurück?
- 16. Objective-C-Reflektion für generische NSCoding-Implementierung
- 17. Nicht erkannter Selektor -replacementObjectForKeyedArchiver: Absturz beim Implementieren von NSCoding in Swift
- 18. Decodierung mit NSCoding: Gibt es einen Wert für den Schlüssel?
- 19. So verschlüsseln Sie Int als eine Option mit NSCoding
- 20. NSCoding benutzerdefinierte Objekt Kind Array nicht persistent
- 21. Wie kodiere ich enum mit NSCoder in swift?
- 22. Warum Klasse serialisiert wird auch ohne NSCoding Protokoll
- 23. So verwenden Sie persistent & rufen Sie ein NSCoding-kompatibles Objekt zur App Document-Verzeichnis in Swift 3 auf?
- 24. Swift: pList mit "komplexen" Daten
- 25. Fehler beim Decodieren von Int mit NSCoder in Swift
- 26. Wie Cache mit Haneke Swift Swift löschen?
- 27. Gespeicherte Arrays mit benutzerdefinierten Swift-Objekten können nicht abgerufen werden
- 28. iPhone - Warum heißt es in der Dokumentation, dass UIImageView mit NSCoding kompatibel ist?
- 29. Swift-Klasse mit Objective-C-Klasse mit Swift-Klasse
- 30. Wie nach Nil mit verschachtelten Komfort Failable Initialisierer in Swift?