美文网首页iOS 项目上线经验ios开源项目ios
SwiftUI CoreData做个数据收集App实现增删改查(

SwiftUI CoreData做个数据收集App实现增删改查(

作者: iCloudEnd | 来源:发表于2020-04-24 18:13 被阅读0次

    看了很多SwiftUI教程,发现很多教程教授的方法都过于复杂。本文将通过实际制作一个收藏夹APP来带领大家快速掌握CoreData的增删改查功能。

    主界面 添加数据界面 添加数据 删除数据

    第一步 创建个项目,勾选UserCoreData

    具体步骤可以参考下面文章


    第二步,创建个实体(Entity)

    Entity(实体)是我们存储数据容器,您可以简单将entity理解成excel中的一张表。实体看上去是一张表,但是本身却包含很多属性,通过实体我们可以很多复杂的操作。例如我们可以将我们喜欢的资料或诗歌存储在一个收藏夹子实体中。

    CoreData基础知识请参考《SwiftUI CoreData入门概念和基础大全》

    下面我们就在xcode中创建个收藏夹实体(bookmark)


    image.png

    为了存储我们的收藏资料,我为bookmark实体设计个四个字段:

    • bid 字段,用于唯一辨识每个资料,bid字段类型设置UUID
    • title字段,用于存储资料的标题,title字段类型设置为string
    • category, 用于存储资料类型,category字段类型设置为string
    • brief字段,用于存储资料的详细内容或备注,brief字段类型设置为string

    第三步 制作个管理实体的对象Context

    Entity实体我们已经制作好了,下面再制作个NSManagedObjectContext(下面简称“context”)。context用于维护和监控object变化的对象,coredata先将entity转化为object,然后交给context进行管理。由于我们经常要使用context,每次写一堆代码比较麻烦,因此我们使用extentsion来将代码进行一下简单的封装。

    import UIKit
    import CoreData
    
    extension NSManagedObjectContext {
        
        static var current: NSManagedObjectContext {
            let appDelegate = UIApplication.shared.delegate as! AppDelegate
            return appDelegate.persistentContainer.viewContext
        }
        
    }
    

    第四步 完成增删改查功能

    1、先创建CDHelper.swift文件用于处理增删改成内容


    image.png

    2、增删该查
    (1) 使用CoreData增加数据

     //存储资料
        static func saveMark(bid:UUID,title:String,category:String,breif:String){
            let mark = Bookmark(context: NSManagedObjectContext.current)
            mark.bid = UUID()
            mark.title = title
            mark.category = category
            mark.brief = breif
            do{
                try NSManagedObjectContext.current.save()
            } catch let error as NSError {
                print(error)
            }
        }
    

    (2) 删除全部数据

    相关文章

      网友评论

        本文标题:SwiftUI CoreData做个数据收集App实现增删改查(

        本文链接:https://www.haomeiwen.com/subject/datevhtx.html