我需要一些带有切换的列表。我从核心数据实体获得的列表数据。
这是我的代码
// get array products from Core Data
@FetchRequest(fetchRequest: Products.getAllProducts()) var myProducts: FetchedResults<Products>
// here I try to show List
List(myProducts.indices) { index in
Toggle(isOn: self.myProducts[index].productStatus) {
Text(self.myProducts[index].productName)
}
}
属性isOn给我错误:无法将'布尔'类型的值转换为预期的参数类型'绑定'
需要做什么?
答案 0 :(得分:0)
我为我的案件找到了解决办法
ForEach(myProducts.indices){ index in
Toggle(isOn:
Binding<Bool>
(get: {return self.myProducts[index].productStatus},
set: { p in self.myProducts[index].productStatus = p}
)) {
Text(self.myProducts[index].productName)
}
.onTapGesture {
self.myProducts[index].productStatus.toggle()
do{
try self.managedObjectContext.save()
}catch{
print(error)
}
}
}
只有我不懂一行代码: 设置:{p in self.myProducts [index] .productStatus = p}
有人可以向我解释吗?