Translate README to Chinese
nmdias opened this issue · 8 comments
Create a README.CN.md in Chinese.
Chinese is the #1 spoken language in the world and I'd love to have DefaultsKit be more inclusive, unfortunately I don't speak Chinese. If you know Chinese, and would like to help out, I'd be eternally grateful.
Thank you 🙏
什么是DefaultsKit
DefaultsKit 是利用Swift4强大的Codable,在UserDefaults基础上提供一层简单且强大的封装。它仅使用少于70行代码来实现这些功能。
使用说明
第一步:
实例化或者使用单例来初始化
let defaults = Defaults()
// 或者使用 let defaults = Defaults.shared
第二步:
// 定义一个键(key)
let key = Key<String>("someKey")
// 设置值(value)
defaults.set("Codable FTW 😃", for: key)
// 通过设置的key来查看返回的value结果值
defaults.get(for: key) // 输出: Codable FTW 😃
判断某个键(key)是否含有某个值(value)
if defaults.has(key) {
// 书写你自己的代码
}
如果你只需要知道该键值队(key,value)是否存在,而不需要使用该key使用的返回值(value),使用has()这个方法代替这个可选的get(for:key)方法。对于一些复杂的对象,它可以减少避免一些不必要的转换
复杂的对象存储
一个遵循Codable协议的复杂对象需要存储
struct Person: Codable {
let name: String
let age: Int
}
// 然后创建一个键(key)
let key = Key<Person>("personKey")
// 获取一个实例符合Codable协议的枚举,结构体或者类
let person = Person(name: "Bonnie Greenwell", age: 80)
// 赋值
defaults.set(person, for: key)
// 最后查看key返回值的value
let person = defaults.get(for: key)
person?.name // Bonnie Greenwell
person?.age // 80
嵌套对象的存储
只要是遵循Codable协议,你也可以使用嵌套对象
enum Pet: String, Codable {
case cat
case dog
}
struct Person: Codable {
let name: String
let pets: [Pet]
}
// 获取一个遵循Codable协议的实例
let person = Person(name: "Claire", pets: [.cat])
// 赋值
defaults.set(person, for: key)
// 查看key返回值的value
let person = defaults.get(for: key)
person?.name // Claire
person?.pets.first // cat
hello, That was my understanding. hope can help you. thanks.
Ah Fantastic! Thank you so much 🙏
厉害了 大佬
I've added the Chinese translations kindly provided by @linbx08 to the README.zh-CN.md file. Thank you again!
I made some refinements and here is the pull request: #3
cool
It`s very nice