Swift:
การทำงานร่วมกับ TOML

วิธีการ:

เริ่มแรก, คุณต้องมี TOML parser Swift ไม่มีฟังก์ชันนี้เข้ามาในตัว, ดังนั้นเราจะใช้ TOMLDecoder ติดตั้งผ่าน Swift Package Manager จากนั้นคุณสามารถทำให้ข้อมูล TOML เป็นซีเรียลและกลับเข้ารูปได้อย่างง่ายดาย

import TOMLDecoder

let tomlString = """
title = "ตัวอย่าง 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("Title: \(config.title), ผู้ถือกรรมสิทธิ์: \(config.owner.name), DOB: \(config.owner.dob)")
    } catch {
        print("พบข้อผิดพลาดในการแยกวิเคราะห์ TOML: \(error)")
    }
}

โค้ดนี้จะแสดงผลลัพธ์ออกมาว่า:

Title: ตัวอย่าง TOML, ผู้ถือกรรมสิทธิ์: Tom Preston-Werner, DOB: 1979-05-27 07:32:00 +0000

ลงลึก

TOML ถูกออกแบบโดย Tom Preston-Werner, ผู้ร่วมก่อตั้ง GitHub, สำหรับการเป็นทางเลือกที่มีความเข้าใจง่ายสำหรับมนุษย์มากกว่ารูปแบบเช่น JSON หรือ YAML มีเป้าหมายเพื่อความชัดเจน, ลดโอกาสของการตีความผิดโดยมนุษย์หรือเครื่องจักร เมื่อเปรียบเทียบกับทางเลือกอื่น, YAML และ JSON เป็นตัวเลือกที่โดดเด่น, โดยที่ YAML มุ่งเน้นไปที่ความสามารถในการอ่านของมนุษย์และ JSON เป็นตัวเลือกที่ง่ายกว่าสำหรับเครื่องจักร เมื่อทำงานกับ TOML ใน Swift, เราไม่มี parser เนทีฟ อย่างไรก็ตาม, ไลบรารีบุคคลที่สามเช่น TOMLDecoder ช่วยให้การเปลี่ยนระหว่างสตริง TOML และประเภทใน Swift ได้ง่าย, โดยเฉพาะผ่าน Codable protocols ที่ถูกนำมาใช้ใน Swift 4 ซึ่งทำให้การทำซีเรียลง่ายขึ้น

ดูเพิ่มเติม