Swift:
Trabalhando com YAML

Como fazer:

Swift não inclui suporte integrado para análise (parsing) e serialização de YAML, necessitando o uso de bibliotecas de terceiros. Uma escolha popular é Yams, uma biblioteca para trabalhar com YAML em Swift.

Primeiro, você precisa adicionar Yams ao seu projeto. Se você está usando Swift Package Manager, pode adicioná-lo como uma dependência no seu arquivo Package.swift:

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

Analisando YAML em Swift

Assuma que você tenha a seguinte configuração YAML para um aplicativo simples:

nome: MeuApp
versão: 1.0
ambiente: desenvolvimento
funcionalidades:
  - login
  - notificações

Veja como você pode analisar essa string YAML em Swift usando Yams:

import Yams

let yamlString = """
nome: MeuApp
versão: 1.0
ambiente: desenvolvimento
funcionalidades:
  - login
  - notificações
"""

do {
    if let data = try Yams.load(yaml: yamlString) as? [String: Any] {
        print(data)
        // Exemplo de acesso aos dados analisados
        if let nome = data["nome"] as? String {
            print("Nome do Aplicativo: \(nome)")
        }
    }
} catch {
    print("Erro ao analisar YAML: \(error)")
}

Saída de exemplo:

["nome": MeuApp, "versão": 1.0, "ambiente": "desenvolvimento", "funcionalidades": ["login", "notificações"]]
Nome do Aplicativo: MeuApp

Serializando Objetos Swift para YAML

Converter um objeto Swift de volta para uma string YAML também é simples com Yams. Suponha que você tenha a mesma estrutura de dados que precisa ser serializada:

let infoApp = [
    "nome": "MeuApp",
    "versão": 1.0,
    "ambiente": "desenvolvimento",
    "funcionalidades": ["login", "notificações"]
] as [String : Any]

do {
    let yamlString = try Yams.dump(objeto: infoApp)
    print(yamlString)
} catch {
    print("Erro ao serializar para YAML: \(error)")
}

Isso produzirá uma String formatada em YAML:

ambiente: desenvolvimento
funcionalidades:
  - login
  - notificações
nome: MeuApp
versão: 1.0

Estes exemplos demonstram operações básicas para trabalhar com YAML em aplicações Swift. Lembre-se, embora YAML se destaque em legibilidade humana e facilidade de uso, sempre considere as necessidades específicas da sua aplicação, especialmente no que diz respeito a desempenho e complexidade, ao escolher seu formato de serialização de dados.