Swift:
Trabalhando com TOML

Como fazer:

Para começar, você precisa de um analisador de TOML. Swift não tem um embutido, então vamos utilizar o TOMLDecoder. Instale-o via Gerenciador de Pacotes Swift e então serialize e deserialize TOML com facilidade.

import TOMLDecoder

let tomlString = """
title = "Exemplo de 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), Proprietário: \(config.owner.name), Nascimento: \(config.owner.dob)")
    } catch {
        print("Erro ao analisar TOML: \(error)")
    }
}

Este código produz:

Título: Exemplo de TOML, Proprietário: Tom Preston-Werner, Nascimento: 1979-05-27 07:32:00 +0000

Aprofundamento

TOML foi desenhado por Tom Preston-Werner, co-fundador do GitHub, como uma alternativa mais amigável ao ser humano do que formatos como JSON ou YAML. Visa a clareza, reduzindo as chances de má interpretação por um humano ou máquina. Quanto às alternativas, YAML e JSON são os suspeitos do costume, com YAML inclinado para a legibilidade humana e JSON como a opção mais simples amigo da máquina. Ao trabalhar com TOML em Swift, não temos um analisador nativo. No entanto, bibliotecas de terceiros como o TOMLDecoder facilitam a conversão fácil entre strings TOML e tipos Swift, especificamente via protocolos Codable introduzidos no Swift 4 que racionalizaram a serialização.

Veja Também