本项目为 INI 文件提供了一个编码器和解码器。
此软件包使用 Swift 4 工具链的 Swift Package Manager 构建,并且是 Perfect 项目的一部分,但也可以作为一个独立的模块使用。
此库为 INI 文件提供了一对 INIEncoder
和 INIDecoder
。
import PerfectINI
struct Person: Codable {
public var name = ""
public var age = 0
}
struct Place: Codable {
public var location = ""
public var history = 0
}
struct Configuration: Codable {
public var id = 0
public var tag = ""
public var person = Person()
public var place = Place()
}
let rocky = Person(name: "rocky", age: 21)
let hongkong = Place(location: "china", history: 1000)
let conf = Configuration(id: 101, tag: "my notes", person: rocky, place: hongkong)
let encoder = INIEncoder()
let data = try encoder.encode(conf)
编码器的输出结果是一个标准的 Swift Data
对象,内容应该如下所示
id = 101
tag = my notes
[person]
name = rocky
age = 21
[place]
history = 1000
location = china
假设 Configuration
和 data
已准备就绪
let decoder = INIDecoder()
let config = try decoder.decode(Configuration.self, from: data)
// configuration loaded.
有关 Perfect 项目的更多信息,请访问 perfect.org。