RealmDAO
Swift中使用的iOS框架
介绍
此框架为在 Swift 中使用 Realm 进行 iOS 开发提供 DAO 附加层。主要目标是让每个在您的项目中创建的 Realm 对象都能有基本的交易可用,无需每次都重写代码。
对象创建
首先,我们需要了解可转移协议
public protocol Transferrable {
associatedtype S
func transfer() -> S
}
此协议为我们提供了创建一个数据传输对象(DTO)的能力
class Animal: Object, Transferrable {
typealias S = AnimalTransfer
func transfer() -> S {
return AnimalTransfer()
}
}
但如果我们认为不需要这个额外的传输对象,我们也可以让函数返回自己
class Animal: Object, Transferrable {
typealias S = Animal
func transfer() -> S {
return self
}
}
重要的是要理解,这个传输对象是 genericDAO 返回的,而不是 Realm 对象本身!
使用方法
创建对象之后,我们只需要调用通用的Dao实现即可
let animalDAO = GenericDAO<Animal>()
此时我们可以调用所需的功能
let animals: [AnimalTransfer] = animalDAO.findAll()
let animal: AnimalTransfer = animalDAO.findByPrimaryKey(pk)
//..