正在使用模型填充viewModel数组



我有一个名为ProductviewModel的模型,分别称为productViewModelProduct Model几乎没有属性,但在本例中,假设它只有nameprice

这就是产品:

struct product {
private let name: String
private let price: Float
}

我创建了一个像这样的视图模型:

struct productViewModel {
private let product: Product
private let isFavorite: Bool
init(product: Product, favorite: Bool = false) {
self.product = product
self.isFavorite = favorite
}
}

如您所见,productViewModel具有模型没有的isFavorite字段。我有一个从服务器获取Product的函数。我想用它填充viewModel阵列,并检查每个产品是否在favorites table(设备本身的本地表,使用SQLite(中

我想到了这样的东西:

private func populateViewModel() {
for p in popularProducts {
let favorite = favoritesTable.contains(p)
let model = ProductViewModel(product: p, isFavorited: favorite)
viewModels.append(model)
}
}

在我从服务器上得到产品列表后,调用这个populateViewModel函数,但它似乎真的没有效率,但我想不出其他什么了。

private func populateViewModel() {
for p in popularProducts {
if p.isFavorite{ //it is favorited
let model = ProductViewModel(product: p, isFavorited: favorite)
viewModels.append(model)
}
}
}

最新更新