Swift:
Travailler avec YAML
Comment faire :
Swift n’inclut pas de support intégré pour l’analyse et la sérialisation YAML, nécessitant l’utilisation de bibliothèques tierces. Un choix populaire est Yams
, une bibliothèque pour travailler avec YAML en Swift.
D’abord, vous devez ajouter Yams
à votre projet. Si vous utilisez le Swift Package Manager, vous pouvez l’ajouter comme une dépendance dans votre fichier Package.swift
:
dependencies: [
.package(url: "https://github.com/jpsim/Yams.git", from: "4.0.0")
]
Analyser le YAML en Swift
Supposons que vous ayez la configuration YAML suivante pour une application simple :
name: MyApp
version: 1.0
environment: development
features:
- login
- notifications
Voici comment vous pouvez analyser cette chaîne YAML en Swift en utilisant Yams
:
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)
// Exemple d'accès aux données analysées
if let name = data["name"] as? String {
print("Nom de l'App : \(name)")
}
}
} catch {
print("Erreur lors de l'analyse YAML : \(error)")
}
Sortie d’exemple :
["name": MyApp, "version": 1.0, "environment": "development", "features": ["login", "notifications"]]
Nom de l'App : MyApp
Sérialiser les objets Swift en YAML
Convertir un objet Swift en chaîne YAML est également simple avec Yams
. Supposons que vous ayez la même structure de données qui doit être sérialisée :
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("Erreur de sérialisation en YAML : \(error)")
}
Cela produira une chaîne formatée YAML :
environment: development
features:
- login
- notifications
name: MyApp
version: 1.0
Ces exemples démontrent les opérations de base pour travailler avec YAML dans les applications Swift. Rappelez-vous, alors que YAML excelle en lisibilité humaine et facilité d’utilisation, considérez toujours les besoins spécifiques de votre application, en particulier en ce qui concerne la performance et la complexité, lors du choix de votre format de sérialisation de données.