实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(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视图模型部分,这就当作作业吧~

相关文章
|
6月前
|
JSON API 数据格式
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)
45 0
|
6月前
|
存储 安全 容器
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(5)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
44 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(5)
|
6月前
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
19 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
|
6月前
|
存储 XML Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
49 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
|
6月前
|
数据库
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
27 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
|
6月前
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(5)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
30 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(5)
|
6月前
|
存储 数据库 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
40 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
|
6月前
|
UED 开发者 容器
实战教程·元宇宙来了,准备好你的电子名片了吗?(三)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(三)
20 0
|
6月前
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
24 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(1)
|
6月前
|
Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(二)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?(二)
37 0