Swift:
Praca z TOML

Jak to zrobić:

Na początek potrzebujesz parsera TOML. Swift nie ma wbudowanego, więc użyjmy TOMLDecoder. Zainstaluj go przez Swift Package Manager, a następnie serializuj i deserializuj TOML z łatwością.

import TOMLDecoder

let tomlString = """
title = "Przykład 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("Tytuł: \(config.title), Właściciel: \(config.owner.name), Data urodzenia: \(config.owner.dob)")
    } catch {
        print("Błąd parsowania TOML: \(error)")
    }
}

Ten kod wypisuje:

Tytuł: Przykład TOML, Właściciel: Tom Preston-Werner, Data urodzenia: 1979-05-27 07:32:00 +0000

Pogłębione spojrzenie

TOML został zaprojektowany przez Toma Preston-Wernera, współzałożyciela GitHuba, jako bardziej przyjazna dla człowieka alternatywa dla formatów takich jak JSON czy YAML. Ma na celu jasność, redukując szanse na błędną interpretację przez człowieka lub maszynę. Jeśli chodzi o alternatywy, YAML i JSON to zwykli podejrzani, z tym że YAML jest skierowany na czytelność dla ludzi, a JSON jako prostsza opcja przyjazna maszynom. Pracując z TOML w Swift, nie mamy natywnego parsera. Jednak biblioteki stron trzecich takie jak TOMLDecoder ułatwiają łatwą konwersję między ciągami TOML a typami Swift, zwłaszcza poprzez protokoły Codable wprowadzone w Swift 4, które usprawniły serializację.

Zobacz także