CoreData的使用(二)---增刪改查

CoreData是蘋果自帶的一種持久化數(shù)據(jù)存儲的方式,網(wǎng)上很多人說使用起來麻煩,其實正真使用后發(fā)現(xiàn)還是蠻方便的,又是系統(tǒng)自帶的,其實我還是蠻推薦使用的

  • 添加數(shù)據(jù)操作

func addDemo() {
        
        let entity: NSEntityDescription = NSEntityDescription.entity(forEntityName: "DemoModel", in: CONTEXT)!
        let model = DemoModel(entity: entity, insertInto: CONTEXT)
        
        model.id = "1"
        model.title = "數(shù)據(jù)模型添加數(shù)據(jù)"
        
        do {
            try CONTEXT.save()
        }catch {
            print("添加數(shù)據(jù)失敗:\(error.localizedDescription)")
        }
    }
  • 刪除數(shù)據(jù)

func deleteDemo() {
        
        let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
        
        do {
            let array = try CONTEXT.fetch(request)
            for model in array {
                CONTEXT.delete(model)
            }
            try CONTEXT.save()
        }catch {
            print("刪除數(shù)據(jù)失敗\(error.localizedDescription)")
        }
    }
  • 查詢數(shù)據(jù)

func findDemo() {
        
        let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
        //條件查詢:id==1的數(shù)據(jù)
        let predicate: NSPredicate = NSPredicate(format: "id = %@", "1")
        request.predicate = predicate
        //排序:根據(jù)id來排序
        let sort: NSSortDescriptor = NSSortDescriptor(key: "id", ascending: false)
        request.sortDescriptors = [sort]
        
        do {
            //查詢的結(jié)果:是個數(shù)組
            let array = try CONTEXT.fetch(request)
        }catch {
            print("查詢數(shù)據(jù)失敗\(error.localizedDescription)")
        }
    }
  • 更新數(shù)據(jù)

func updateDemo() {
        
        let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
        //條件查詢:id==1的數(shù)據(jù)
        let predicate: NSPredicate = NSPredicate(format: "id = %@", "1")
        request.predicate = predicate
        //排序:根據(jù)id來排序
        let sort: NSSortDescriptor = NSSortDescriptor(key: "id", ascending: false)
        request.sortDescriptors = [sort]
        
        do {
            //查詢的結(jié)果:是個數(shù)組
            let array = try CONTEXT.fetch(request)
            for model in array {
                model.title = "更新數(shù)據(jù)"
            }
            try CONTEXT.save()
        }catch {
            print("更新數(shù)據(jù)失敗\(error.localizedDescription)")
        }
    }

上一節(jié):CoreData的使用(一)
下一節(jié):CoreData的使用(三)--UITableView

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容