菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行
“不积跬步,无以至千里;不积小流,无以成江海”
继续上文中已经实现了TODO页面的基本新增逻辑以及删除功能
本文将以及滑动删除功能。
同时完成一个数据的抽象,即将数据处理的部分抽象到一个对象内,页面中只管调用即可。
最终效果如下:
思考还是老规矩,既然要抽象一个数据模型出来,那就是一个独立的文件。
一个关于TODO的数据模型。
至少有两个struct,一个todoItem的定义,另一个是todoList的定义
这个数据模型中是所有的关于这个todolists的操作
如果所有的操作都集中在这个模型中,那我我们的todo页面中的所有操作即可调用这个数据模型。
实现我们新增一个TodoModel.swift,内容如下:
importSwiftUI;//这里是定义todo项的数据结构,结构体用于定义结构,类用于定义完整数据对象structTodoItem:Identifiable,Equatable{//给生成一个唯一的id作为标识,相当于实现了Identifiableletid=UUID();//todo项名称varname:String;//是否已经完成,默认为falsevarisFinished:Bool=false;//创建时间varcreateTime:Int=0;//完成时间varfinishTime:Int=0;//用来展示的时间,这里相当于是个