Swift:
Trabajando con TOML

Cómo hacerlo:

Para empezar, necesitas un analizador de TOML. Swift no tiene uno incorporado, entonces usemos TOMLDecoder. Instálalo a través del Administrador de Paquetes de Swift y luego serializa y deserializa TOML fácilmente.

import TOMLDecoder

let tomlString = """
title = "Ejemplo TOML"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
"""

struct Config: Codable {
    let title: String
    let owner: Owner
}

struct Owner: Codable {
    let name: String
    let dob: Date
}

let decoder = TOMLDecoder()
if let configData = tomlString.data(using: .utf8) {
    do {
        let config = try decoder.decode(Config.self, from: configData)
        print("Título: \(config.title), Propietario: \(config.owner.name), Fecha de Nacimiento: \(config.owner.dob)")
    } catch {
        print("Error al analizar TOML: \(error)")
    }
}

Este código produce la salida:

Título: Ejemplo TOML, Propietario: Tom Preston-Werner, Fecha de Nacimiento: 1979-05-27 07:32:00 +0000

Análisis Profundo

TOML fue diseñado por Tom Preston-Werner, cofundador de GitHub, como una alternativa más amigable para humanos a formatos como JSON o YAML. Apunta hacia la claridad, reduciendo las posibilidades de malinterpretación tanto por un humano como por una máquina. En cuanto a alternativas, YAML y JSON son los sospechosos habituales, con YAML inclinándose hacia la legibilidad humana y JSON como la opción más simple y amigable para las máquinas. Al trabajar con TOML en Swift, no contamos con un analizador nativo. Sin embargo, bibliotecas de terceros como TOMLDecoder facilitan la conversión fácil entre cadenas TOML y tipos de Swift, específicamente a través de los protocolos Codable introducidos en Swift 4 que simplificaron la serialización.

Ver También