实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(6)

简介: 实战教程·元宇宙来了,准备好你的电子名片了吗?(八)

修改删除方法

最后我们再回到CardView视图,修改下删除的方法,依旧需要先引入数据库,如下代码所示:


@FetchRequest(entity: Model.entity(),
                  sortDescriptors: [NSSortDescriptor(keyPath: \Model.id, ascending: false)])
var models: FetchedResults<Model>

image.png

然后在调用删除方法的地方键入下面的代码,如下代码所示:


if let deleteItem = models.first(where: { $0.id == model.id }) {
        context.delete(deleteItem)
    do {
        try context.save()
    } catch {
        let nsError = error as NSError
        fatalError("Unresolved error (nsError), (nsError.userInfo)")
    }
}

image.png

上述代码中,我们和在EditView编辑页面做的事情一样,通过判断当前操作的ID是models数据集中的那一项,然后调用delete方法删除数据,最后调用save方法保存当前操作。

项目小结

本章介绍了两种数据持久化的方法,笔者比较推荐第二种使用CoreData框架进行数据持久化的方法,因为后期可以和iCloud进行通信实现云端存储的功能,后面的章节会找机会讲讲这个。

以及在本章中我们将一些新增、编辑、删除的方法都放在了视图中,没有好好利用MVVM结构模式,也是为了让大家先熟悉CoreData框架的使用。我们也可以在后面自己想想如何将一些方法抽离出来,搭建ViewModel视图模型部分,这就当作作业吧~

相关文章
|
存储 JSON 缓存
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?
79 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(1)
|
存储 安全 容器
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(5)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
63 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(5)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
39 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
|
存储 XML Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
76 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
|
存储 JSON 测试技术
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(2)
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)
52 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(2)
|
数据库
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
51 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
|
存储 数据库 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
72 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
45 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(1)
|
程序员 人机交互 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)
68 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)(3)
|
存储 前端开发 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)
58 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(1)