Nora 1.1.1

Nora 1.1.1

Steven Deutsch维护。



 
依赖项
Firebase/Core>= 0
Firebase/Database>= 0
Firebase/Storage>= 0
结果~> 3.0
 

Nora 1.1.1

codebeat badge Build Status Swift Xcode MIT Contributions Welcome Open Source Love


Nora是用于与FirebaseDatabase和FirebaseStorage一起工作的Firebase抽象层。

别再花那么多时间清理视图控制器和编写可重用的Firebase代码了。

让Nora为您处理这些。您的时间应该花在您最擅长的事情上。编写出色的Apps!

简单来说,与Firebase一起工作变得容易多了。


安装

CocoaPods推荐

  pod 'Nora'

示例

使用FirebaseDatabase

设置目标后简单发出请求。

let database = DatabaseProvider<Users>()

database.request(.getUser(id: "1")) { result in
  switch result {
  case .success(let response):
    let snapshot = response.snapshot
  case .failure(let error):
    print(error.localizedDescription)
  }
}

数据库响应解码

为自定义类型提供JSON初始化器,轻松转换数据库响应

let database = DatabaseProvider<Users>()

database.request(.getUser(id: "1")) { result in
  switch result {
  case .success(let response):
    let user = try? response.mapTo(User.init)
  case .failure(let error):
    print(error.localizedDescription)
  }
}

使用FirebaseStorage

let storage = StorageProvider<Avatars>()
let avatarData = Data()
var meta = FIRStorageMetadata?

storage.request(.upload(avatarData, meta)) { result in
  switch result {
  case .success(_):
    print("Upload Success!")
  case .failure(let error):
    print(error.localizedDescription)
  }
}

文档(进行中)

DatabaseTarget 文档

DatabaseProvider 文档


参与进来

您可以通过多种方式为这个项目做出贡献,而不仅仅是代码

  • 改进README
  • 改进文档
  • 报告错误
  • 新功能建议
  • 回答问题

我们真心鼓励每个人参与开源。

您的反馈一直受到欢迎,非常感激!

无论您的经验水平如何。

您永远不会因为意见而受到贬低。所以抓住机会,发起一个pull request,或者提交那个问题!


灵感

该项目受到Swift中的网络抽象层Moya的启发。

如果您正在使用传统的网络,请查看他们的项目!


许可证

Nora遵循MIT许可发布。详细信息请查看LICENSE.md