昨天发了介绍代码生成脚本的贴之后, 睡觉前感觉我可以提供一个更 Modern, Easy, Swifty 的方式的 帮助读写 UserDefaults. 今天抽空实现了. 首先来看看它是怎么使用的.
struct MWebSettings{
static var baseFont = Default<String>("baseFont", defaultValue:"Menlo")
static var baseFontSize = Default<Int>("baseFontSize", defaultValue:15)
static var lineSpacing = Default<Int>("lineSpacing", defaultValue: 1)
static var avatarUrl = Default<URL>("avatar")
static var favoriteFruits = Default<[String]>("favoriteFruits")
}
// 写入值.
MWebSettings.baseFontSize.value = 13
// 读取值
MWebSettings.baseFontSize.value // 13
主要核心在一个包装的泛型 Default<T>
, 虽然是泛型,但是提前做了支持的类型判断. 以提示你使用 UserDefaults 支持的数据类型.
Defaults
代码在: https://github.com/banxi1988/EasyDefaults
这个算是我第一个测试代码比较完善, 而且加了适当文档的开源项目了. 更重要的是, 实现得简单. 在这 2016 年最后一天, 当作是以比较完善的方式向 2016 告别.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.