2
我是新来的Swift,我想为db访问创建一个抽象工厂。 这里是我的协议如何在结构中实现此协议
protocol IDAOFactory
{
associatedtype DAO: IDAO
func createAccountDAO<DAO: IAccountDAO>() -> DAO
}
struct RealmFactory: IDAOFactory
{
}
protocol IDAO
{
associatedtype T
func save(object: T)
}
protocol IAccountDAO : IDAO
{
}
struct AccountDAORealm: IAccountDAO
{
}
如何实现结构AccountDAORealm在结构RealmFactory的IDAOFactory和IAccountDAO? 任何人都可以帮忙吗?
为什么结构?结构是值对象,而不是引用对象。 – gnasher729
你的意思是使用Class会更好吗? –
这是您的决定,但结构以_values_的形式传递,因此每个调用您的工厂的人都会得到不同的结构。每次将结构传递给函数时,都会创建一个结构体的副本。 – gnasher729