Swifty Firebase API @ Ka-ching —第一部分
添加对可编码类型的支持
更新,2018年10月14日:
自撰写本文以来,这些博客文章中描述的概念已被分为两个开源框架,可以在这里找到:
ka-ching-as / FireSwift-Database
Firebase实时数据库的扩展,可以使用“ Codable” Swift类型。 … github.com ka-ching-as / RxFireSwift-Database
Firebase实时数据库的RxSwift扩展— ka-ching-as / RxFireSwift-Database github.com
背景
Firebase实时数据库是构建应用程序的绝佳工具。 有很多文章介绍了使用Firebase的一些优点,因此,本篇文章不会对此进行详细介绍,而是假定您已经对该技术有一定的了解。
Firebase的iOS API当前是用Objective-C编写的,尽管这些API在Swift中表现得很好,但这确实意味着我们无法利用Codable
支持之类的仅Swift功能。
这篇文章(以及随后的几篇文章)将探讨向Realtime Database API添加漂亮和“ Swifty”扩展的可能性。
总览
以下是有关这些帖子的概述:
- (本文)增加了对
Codable
类型的支持。 - 向数据库中的数据添加类型安全的路径
- (尚未发布)添加
RxSwift
扩展以将数据提供为Observables
动机
第一篇文章的动机是使您可以将存储在Realtime数据库中的数据视为模型对象,而不是纯数据。
在第二篇文章中,我们将摆脱容易出错的String
路径到数据的使用。
第三篇文章的动机是这样的事实,即在如何通过Rx
眼镜感知世界以及如何使用实时数据库API方面存在很大的重叠。 即,数据在两个概念中都被视为随时间变化的值。 让我们通过结合概念来利用这一点。
TL; DR
这篇文章的目标是能够将可Codable
模型类型与Firebase Realtime Database API一起使用,如下所示: