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