iOS 项目上线经验ios开源项目ios

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

2020-04-24  本文已影响0人  iCloudEnd

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

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

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

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


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

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

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

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


image.png

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


第三步 制作个管理实体的对象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) 删除全部数据

上一篇下一篇

猜你喜欢

热点阅读