TOAppSettings 0.0.2

TOAppSettings 0.0.2

Tim Oliver 维护。



  • 作者:
  • Tim Oliver

TOAppSettings

CI Version GitHub license Platform

NSUserDefaults 的 Realm 类对象包装类。

// Define a subclass with a list of properties
class MyAppSettings: AppSettings {
    @objc dynamic var greeting = ""
}

// Automatically save to `NSUserDefaults`!
let settings = MyAppSettings.default()
settings.greeting = "Hello World!"

TOAppSettings

NSUserDefaults 自 iPhoneOS 2.0 以来一直是 iOS 开发的重要组件。虽然其 API 对于持久化数据来说非常方便,但它是相对难以处理的一个 API。除了读取和写入数据的方法描述冗长之外,跟踪键名也可能很复杂。

TOAppSettings 是一个包装类,旨在使与 NSUserDefaults 一起工作变得更加容易。它与 Realm iOS 数据库类似的机制使用 Objective-C 运行时将属性动态映射到等效的 NSUserDefaults 方法。

特性

  • 自动将对象属性映射到 NSUserDefaults
  • 支持 NSUserDefaults 最初支持的所有数据类型。
  • 自动生成唯一的键名,因此不会与其他持久数据发生冲突。
  • 可以使用标识符字符串保存多个不同的同一对象的副本。
  • 支持在同一个开发者容器中的应用程序之间共享首选项。
  • 此外,支持所有符合 NSCoding 的对象,并自动处理它们到磁盘和从磁盘的序列化。
  • TOAppSettings 的实例在内部缓存,因此在后续实例化调用时的开销很小。
  • 线程安全,就像 NSUserDefaults 本身一样。
  • 用 Objective-C 编写,但也提供了一个非常 Swifty 的接口。
  • 单元测试(还有更多!)

安装

手动安装

TOAppSettings.hTOAppSettings.m 拖入您的 Xcode 项目中。

CocoaPods

pod 'TOAppSettings'

Carthage

请创建一个 Pull Request。 :)

致谢

TOAppSettingsTim Oliver 创建,最初用作 iComics 组件,这是一个用于 iOS 的漫画阅读应用。

许可证

TOCropViewController 使用 MIT 许可证,请参阅 LICENSE 文件。