RealmDAO 1.2.3

RealmDAO 1.2.3

Igor Andruskiewitsch 维护。



 
依赖
Realm>= 0
RealmSwift>= 0
SwiftyBeaver>= 0
 

RealmDAO 1.2.3

  • Igor Andruskiewitsch

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)
//..