Swift:
Työskentely YAML:n kanssa

Kuinka:

Swift ei sisällä sisäänrakennettua tukea YAML:n jäsennykseen ja sarjallistamiseen, joten on tarpeen käyttää kolmannen osapuolen kirjastoja. Suosittu valinta on Yams, kirjasto YAML:n käsittelyyn Swiftissä.

Ensimmäiseksi sinun on lisättävä Yams projektiisi. Jos käytät Swift Package Manageria, voit lisätä sen riippuvuudeksi Package.swift tiedostoosi:

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

YAML:n jäsennys Swiftiin

Oletetaan, että sinulla on seuraava YAML-konfiguraatio yksinkertaiselle sovellukselle:

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

Tässä on miten voit jäsentää tämän YAML-merkkijonon Swiftissä käyttäen Yamsia:

import Yams

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

do {
    if let data = try Yams.load(yaml: yamlString) as? [String: Any] {
        print(data)
        // Esimerkki jäsennellyn datan käytöstä
        if let name = data["name"] as? String {
            print("Sovelluksen nimi: \(name)")
        }
    }
} catch {
    print("Virhe YAML:n jäsentämisessä: \(error)")
}

Näytekuloste:

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

Swift-objektien sarjallistaminen YAML:ksi

Swift-objektin muuntaminen takaisin YAML-merkkijonoksi on myös suoraviivaista Yamsin kanssa. Oletetaan, että sinulla on sama datarakenne, joka täytyy sarjallistaa:

let appInfo = [
    "name": "MyApp",
    "version": 1.0,
    "environment": "development",
    "features": ["login", "notifications"]
] as [String : Any]

do {
    let yamlString = try Yams.dump(object: appInfo)
    print(yamlString)
} catch {
    print("Virhe sarjallistettaessa YAML:ksi: \(error)")
}

Tämä tuottaa YAML-muotoillun merkkijonon:

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

Nämä esimerkit esittävät perustoimintoja YAML:n käsittelyssä Swift-sovelluksissa. Muista, että vaikka YAML erinomaisesti tukee ihmisen luettavuutta ja helppokäyttöisyyttä, aina kannattaa huomioida sovelluksesi erityistarpeet, erityisesti suorituskyvyn ja monimutkaisuuden osalta, kun valitset datan sarjallistamismuotoa.