问题描述
还有其他人在iOS 14 Beta 5中看到这个吗?在以前的测试版中效果很好...
@State private var favorites = [Truck]()
@State private var favoritesRetreived = false
var body: some View {
List {
ForEach(favorites,id:\.id) { truck in
NavigationLink (destination: TruckDetail(truck: truck)) {
TruckListItem(truck: truck)
}
}
}
.navigationBarTitle(Text("Favorites"),displayMode: .inline)
.onAppear(perform: {
getFavoriteTrucks()
})
}
在对getFavoriteTrucks的调用中,收藏夹中的数据已正确更新,但列表仅显示了为收藏夹重复的第一项。我知道在以前的Beta中它可以正常工作...我错过了某些更改吗?
解决方法
罗布·纳皮尔,你是对的。我在ForEach中使用的.id不是我应该使用的值。所有这些值均为“”,因此将生成重复项。谢谢!
,检查您的 id 值。不需要在 ForEach 循环中提及它,但它在您的模型中应该是唯一的。
例如:
ForEach(list.datas) { 我在 打印(i.id) }
此 i.id 必须具有唯一值且不应为 nil 或空, 对我来说,它是一个空字符串。