Arbeiten Sie mit Codern und codierbaren Modellen
Die iOS-Implementierung von Mobile SDK Bietet die zusätzliche Funktionalität von Codern und codierbaren Modellen.
Coder-Aufzählung
Die Coder Die Aufzählung umschließt einen JSONEncoder Mit einer Begleitperson JSONDecoder Damit beide dieselbe Codierungsstrategie bereitstellen. Da viele der NowData-Framework-APIs, die codierbare Modelle verarbeiten, auf der Codierung und Decodierung von JSON basieren, der Coder Vereinfacht und standardisiert die Angabe von Encodern und Decodern. Normalerweise wird der Standard verwendet Coder ( .Standard ), die Daten mit codiert und decodiert Nicht ISO8601UTC Datumsformatierung ist ausreichend. Die DateFormatter.nonISO8601UTC Ist ein statischer Datumsformatierer, der vom NowData-Framework bereitgestellt wird. Es ist für die Codierung und Decodierung von Daten verantwortlich, die von gespeichert wurden ServiceNow Plattform in der UTC-Zeitzone (GMT+0) und werden von verwendet Tabelle API in jjjj-MM-TT HH:MM:SS Formatieren Sie, indem Sie das Gebietsschema und die Zeitzone eines Geräts berücksichtigen.
Wenn anwenderdefinierte JSON-Codierung erforderlich ist, z. B. bei der Verarbeitung bestimmter Datumsformate, können Sie eine anwenderdefinierte erstellen Coder Durch Bereitstellung des anwenderdefinierten JSONEncoder Und JSONDecoder Als zugeordnete Typen des anwenderdefinierten Coder. Sowohl der Encoder als auch der Decoder müssen dieselbe Codierungsstrategie verwenden.
Zum Beispiel:
let myEncoder = JSONEncoder()
myEncoder.dateEncodingStrategy = .formatted(.nonISO8601UTC)
let myDecoder = JSONDecoder()
myDecoder.dateDecodingStrategy = .formatted(.nonISO8601UTC)
let myCoder: Coder = .custom(myEncoder, myDecoder)Codierbare Erweiterung für geschachtelte Strukturen
Das NowData-Framework bietet Funktionen zum Decodieren geschachtelter Strukturen durch punktgetrennte Pfade. Diese Funktionalität erleichtert die Verwendung geschachtelter Daten, indem die Verwendung von Wrapper-Struktur und geschachtelter JSON-Decodierung entfällt.