Swift:
Att Arbeta med YAML

Hur man gör:

Swift inkluderar inte inbyggt stöd för analys och serialisering av YAML, vilket kräver användning av tredjepartskibliotek. Ett populärt val är Yams, ett bibliotek för att arbeta med YAML i Swift.

Först måste du lägga till Yams i ditt projekt. Om du använder Swift Package Manager kan du lägga till det som ett beroende i din Package.swift fil:

dependencies: [
    .package(url: "https://github.com/jpsim/Yams.git", from: "4.0.0")
]

Tolka YAML i Swift

Anta att du har följande YAML-konfiguration för en enkel app:

name: MyApp
version: 1.0
environment: development
features:
  - login
  - notifications

Så här kan du tolka denna YAML-sträng i Swift med hjälp av Yams:

import Yams

let yamlString = """
name: MyApp
version: 1.0
environment: development
features:
  - login
  - notifications
"""

gör {
    om låt data = prova Yams.load(yaml: yamlString) som? [String: Any] {
        print(data)
        // Exempel på åtkomst till den tolkade datan
        om låt name = data["name"] som? String {
            print("Appnamn: \(name)")
        }
    }
} fånga {
    print("Fel vid tolkning av YAML: \(error)")
}

Exempelutdata:

["name": MyApp, "version": 1.0, "environment": "development", "features": ["login", "notifications"]]
Appnamn: MyApp

Serialisera Swift-objekt till YAML

Att konvertera ett Swift-objekt tillbaka till en YAML-sträng är också enkelt med Yams. Anta att du har samma datastruktur som behöver serialiseras:

låt appInfo = [
    "name": "MyApp",
    "version": 1.0,
    "environment": "development",
    "features": ["login", "notifications"]
] som [String : Any]

gör {
    låt yamlString = prova Yams.dump(objekt: appInfo)
    print(yamlString)
} fånga {
    print("Fel vid serialisering till YAML: \(error)")
}

Detta kommer att producera en sträng formaterad som YAML:

environment: development
features:
  - login
  - notifications
name: MyApp
version: 1.0

Dessa exempel visar grundläggande operationer för att arbeta med YAML i Swift-applikationer. Kom ihåg, medan YAML utmärker sig i mänsklig läsbarhet och användarvänlighet, bör du alltid överväga de specifika behoven för din applikation, speciellt med avseende på prestanda och komplexitet, när du väljer ditt dataformat för serialisering.