测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布上次发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Fer Canon,Miguel Martin,Fer Canon 维护。
依赖关系 | |
SwiftyJSON | >= 0 |
Alamofire | >= 0 |
PromiseKit/CorePromise | >= 0 |
BackboneSwift 是一个由 Backbone JS 启发的简单 REST 客户端。BackboneSwift 提供了由 Alamofire,PromiseKit 和 SwiftyJSON 组成的组合,便于您轻松创建模型和集合。
声明您的自定义模型和集合
import BackboneSwift
// Declare a model that inherits from BackboneSwit.
class Repo : Model {
var name: String = ""
var html_url: String = ""
var score:Int = 0
}
class Repositories: BaseCollection <Repo> { // create the collection
}
然后就可以使用了
//GET example in a tableViewController
var githubRepositories = Repositories(baseUrl:"https://api.github.com/search/repositories")
override func viewDidLoad() {
// Use the HttpOptions to add a query
let requestOptions = HttpOptions(queryString: "q=language:swift&sort=stars&order=desc")
// HTTP GET
githubRepositories.fetch(usingOptions:requestOptions).then { (repos:Repositories, _) -> Void in //Asynch call back
self.tableView.reloadData()
}.catch { (error) in
// This will always get called if something goes wrong
print(error)
}
}
其他 HTTP 方法
// POST
Repo().create().then { (repo:Repo, metadata:ResponseMetadata) -> Void in
// do whatever you want
}
// DELETE
Repo().delete().then { (repo:Repo, metadata:ResponseMetadata) -> Void in
// do whatever you want
}
// UPDATE
Repo().save().then { (repo:Repo, metadata:ResponseMetadata) -> Void in
// do whatever you want
}
Swift 是一种强类型语言,在从 json 文件创建对象时可能会变得相当复杂。BackboneSwift 通过处理可选的展开、http 连接的响应以及所有这些的异步操作来抽象这种复杂性。BackboneSwift 还提供了面向 Promise 的语法来避免“回调地狱”。我们非常喜欢在 Swift 中使用承诺。
只需将其复制到您的 Podfile 中
$ pod 'BackboneSwift'
下载代码并安装 pod file。pod install
运行测试目标或使用包含的 Demo 应用程序
Fer Canon,Miguel Martin,Mario Rosales
版权所有 2017 Fer Canon
以下条件下,任何人都可以免费获取并获取此软件及其相关文档文件(“软件”)的副本(“软件”),可以无限制地处理该软件,包括无限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许所有获得软件的人这样做,前提是
在任何副本或软件的主要部分中应包含上述版权声明和本许可声明。
本软件按“现状”提供,不提供任何形式的担保,包括但不限于针对适销性、特定用途的适用性和非侵权的担保。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任承担责任,无论根据合同行为、侵权或其他行为,是否与软件或软件的使用或其他交易有关。