欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Swift学习笔记:Core Data 删除时崩溃,Crash when delete core data

程序员文章站 2022-07-14 12:49:50
...

现象:在父视图中用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

Swift学习笔记:Core Data 删除时崩溃,Crash when delete core data

2、Model的属性也修改为optional

Swift学习笔记:Core Data 删除时崩溃,Crash when delete core data

3、在子视图的代码中,加入optional处理代码

Swift学习笔记:Core Data 删除时崩溃,Crash when delete core data

相关标签: Swift