Swift:
Työskentely TOML:n kanssa

Kuinka:

Aloittaaksesi tarvitset TOML-jäsentäjän. Swiftillä ei ole sisäänrakennettua, joten käytetään TOMLDecoderia. Asenna se Swift Package Managerin kautta ja sen jälkeen serialisoi ja deserialisoi TOML helposti.

import TOMLDecoder

let tomlString = """
title = "TOML-esimerkki"

[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("Otsikko: \(config.title), Omistaja: \(config.owner.name), Syntymäaika: \(config.owner.dob)")
    } catch {
        print("Virhe TOML:n jäsentämisessä: \(error)")
    }
}

Tämä koodi tuottaa tulosteen:

Otsikko: TOML-esimerkki, Omistaja: Tom Preston-Werner, Syntymäaika: 1979-05-27 07:32:00 +0000

Syväsukellus

TOML on suunniteltu Tom Preston-Wernerin, GitHubin perustajajäsenen, toimesta ihmisläheisemmäksi vaihtoehdoksi formaateille kuten JSON tai YAML. Se pyrkii selkeyteen, vähentämään väärinkäsitysten mahdollisuuksia ihmisen tai koneen osalta. Vaihtoehtoina ovat tavallisesti YAML ja JSON, joista YAML on kallistunut ihmisen luettavuuteen ja JSON yksinkertaisempaan koneystävällisyyteen. Työskennellessä TOML:n kanssa Swiftissä, meillä ei ole natiivia jäsentäjää. Kuitenkin, kolmannen osapuolen kirjastot kuten TOMLDecoder helpottavat TOML-merkkijonojen ja Swift-tyyppien välistä muunnosta, erityisesti Codable-protokollien kautta, jotka otettiin käyttöön Swift 4:ssä ja jotka tehostivat serialisointia.

Katso Myös