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
- notificationsSå 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: MyAppSerialisera 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.0Dessa 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.