RemoteSettings 1.0

RemoteSettings 1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017 年 10 月
SwiftSwift 版本4.0
SPM支持 SPM

Thorsten StarkCornelius HorstmannPascal Stüdlein 维护。



  • Cornelius Horstmann,Thorsten Stark,Bernhard Eiling 和 Pascal Stüdlein 撰写

RemoteSettings 是一个框架,帮助您获取远程数据并将其存储到特定的数据结构中。

需求

  • iOS 8.0+
  • Xcode 9.0+
  • Swift 4.0+

用法

实验性:我们还提供了 Playground 作为文档,请查看:)。并确保“显示渲染的 Markdown”已激活。

让我们假设我们想使用 GitHub API 来获取关于 RemoteSettings 项目的信息。更具体地说,我们想存储 RemoteSettings 仓库的 url 以备后用。

let apiUrl = URL(string:"https://api.github.com/repos/tbointeractive/remotesettings")!

基本

  1. 创建一个 RemoteSettings 的子类
  2. 实现方法 open func update(_ data: Data) throws 并处理获取的数据
    在您从数据中获得所需的信息后,我们建议您将该信息作为该子类的实例成员存储
  3. 创建该子类的对象 SubclassOfRemoteSettings(remote: apiUrl)
  4. 通过调用 public func update(finished: Completion?) 使用该对象来获取数据

伪代码

final class GitHubRemoteSettings: RemoteSettings {
  var repoUrl: URL?

  open override func update(_ data: Data) throws {
    self.repoUrl = // parse data (in this case this is some json), extract the repoUrl and store in member variable
  }
}

let remoteSettings = GitHubRemoteSettings(remote: apiUrl)
remoteSettings.update() { error in
  // error handling
}

// after an update your designated data is stored to repoUrl
remoteSettings.repoUrl

JSONRemoteSettings

当您需要处理类似我们之前部分中需要处理的 JSON 数据时,JSONRemoteSettings 非常方便。

  1. 创建 JSONRemoteSettings 的子类
  2. 实现方法 open func update(_ data: [AnyHashable: Any]) throwsopen func update(_ data: [Any]) throws
    这些是你已解析 JSON 数据的回调。这些方法是互斥的,所以要么调用 update(_ data: [AnyHashable: Any]),要么调用 update(_ data: [Any])
  3. 创建该子类的对象 SubclassOfJSONRemoteSettings(remote: apiUrl)
  4. 通过调用 public func update(finished: Completion?) 使用该对象来获取数据

高级用法

备用数据

TBD👩‍💻

DataFetcher

TBD🙆

DataStorage

TBD🙋