現象:在父視圖中用list創建子視圖,調用delete刪除core data中的數據時,子視圖崩潰
ForEach (self.countdownItems,id: \.myid) { (countdown:CountdownItem) in
HStack{
CountdownItemView(countdown:countdown).contextMenu{
Button(action: {
self.delete(index:countdown.myid!)
}){
Text("delete")
//TODO
}
}
}.frame(height:100)
}.onMove(perform: move).onDelete(perform: delete)
問題原因:
entity的參數未設置成optional,在子視圖中沒有處理nil的情況
解決方法:
1、Core Data 的entity的property設置爲optional
2、Model的屬性也修改爲optional
3、在子視圖的代碼中,加入optional處理代碼