Swift - decodable & codable: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
Die Protokolle Decodable und Codable nutzt man oft im Zusammenhang mit externen Datenquellen z.B. JSON Daten
+
== Links ==
 +
[[Swift (Programmiersprache)]]
 +
 
 +
== Einleitung ==
 +
 
 +
Die Protokolle Decodable und Codable nutzt man oft im Zusammenhang mit externen Datenquellen z.B. JSON Daten. Man kann damit Datenstrukturen aus Swift in andere Formate Enkodieren oder aus diesen Dekodieren.
  
 
Wenn du Beispielsweise JSON Daten mit einer URLSession aus dem Netz holst und diese Daten '''in ein Struct einlesen''' möchtest, musst du dem Struct das Protokoll '''Decodable''' hinzufügen.
 
Wenn du Beispielsweise JSON Daten mit einer URLSession aus dem Netz holst und diese Daten '''in ein Struct einlesen''' möchtest, musst du dem Struct das Protokoll '''Decodable''' hinzufügen.
Zeile 7: Zeile 12:
 
Es gibt auch einen Type Alias, der beide Protokolle verbindet nämlich '''Codable''' ''Codable'' ist also das Gleiche wie ''Decodable,Encodable''
 
Es gibt auch einen Type Alias, der beide Protokolle verbindet nämlich '''Codable''' ''Codable'' ist also das Gleiche wie ''Decodable,Encodable''
  
<syntaxhiglight lang="swift">
+
<syntaxhighlight lang="swift">
 
struct WeatherData: Encodable{ // same as struct WeatherData: Encodable,Decodable
 
struct WeatherData: Encodable{ // same as struct WeatherData: Encodable,Decodable
 
     let name: String
 
     let name: String

Version vom 19. Januar 2023, 11:28 Uhr

Links

Swift (Programmiersprache)

Einleitung

Die Protokolle Decodable und Codable nutzt man oft im Zusammenhang mit externen Datenquellen z.B. JSON Daten. Man kann damit Datenstrukturen aus Swift in andere Formate Enkodieren oder aus diesen Dekodieren.

Wenn du Beispielsweise JSON Daten mit einer URLSession aus dem Netz holst und diese Daten in ein Struct einlesen möchtest, musst du dem Struct das Protokoll Decodable hinzufügen.

Möchtest du aus einem Struct JSON Daten erzeugen benötigt dein Struct das Protokoll Encodable.

Es gibt auch einen Type Alias, der beide Protokolle verbindet nämlich Codable Codable ist also das Gleiche wie Decodable,Encodable

struct WeatherData: Encodable{ // same as struct WeatherData: Encodable,Decodable
    let name: String
    let main: Main
    let weather: [Weather]
}