swift3.0 coreData的基本使用,简单实现增删改查

三步走完,上代码,简单实现增删改查 1.增

let app = UIApplication.shared.delegate as! AppDelegate
    let contexts = app.persistentContainer.viewContext
    
    let entityName = "Person"
    let onePerson = NSEntityDescription.insertNewObject(forEntityName: entityName, into: contexts) as! Person
    
    onePerson.name = "nnn"
    onePerson.uid = "111"
    onePerson.url = "2333"
    app.saveContext()
复制代码

2.删

let app = UIApplication.shared.delegate as! AppDelegate
    let contexts = app.persistentContainer.viewContext
    let entityName = "Person"
    
    let fetchRequest:NSFetchRequest<NSFetchRequestResult> = NSFetchRequest()
    fetchRequest.fetchLimit = 10
    fetchRequest.fetchOffset = 0
    
    let entity = NSEntityDescription.entity(forEntityName: entityName, in: contexts)
    fetchRequest.entity = entity
    
    let predicate = NSPredicate.init(format: "name = 'nnn'", "")
    fetchRequest.predicate = predicate
    
    
    do {
      
      let fetchedObjects = try contexts.fetch(fetchRequest) as! [Person]
      for one: Person in fetchedObjects {
        contexts.delete(one)
        app.saveContext()
      }
      
    } catch  {
      let nserror = error as NSError
      fatalError("查询错误: \(nserror), \(nserror.userInfo)")
      
复制代码

3.改

let app = UIApplication.shared.delegate as! AppDelegate
    let contexts = app.persistentContainer.viewContext
    let entityName = "Person"
    
    let fetchRequest:NSFetchRequest<NSFetchRequestResult> = NSFetchRequest()
    fetchRequest.fetchLimit = 10
    fetchRequest.fetchOffset = 0
    
    let entity = NSEntityDescription.entity(forEntityName: entityName, in: contexts)
    fetchRequest.entity = entity
    
    let predicate = NSPredicate.init(format: "name = 'nnn'", "")
    fetchRequest.predicate = predicate
    
    
    do {
      
      let fetchedObjects = try contexts.fetch(fetchRequest) as! [Person]
      print(fetchedObjects)
      for one in fetchedObjects {
        
        one.uid = "123"
        app.saveContext()
      }
      
    } catch  {
      let nserror = error as NSError
      fatalError("查询错误: \(nserror), \(nserror.userInfo)")
      
    }
复制代码

4.查

let app = UIApplication.shared.delegate as! AppDelegate
    let contexts = app.persistentContainer.viewContext
    let entityName = "Person"
    
    let fetchRequest:NSFetchRequest<NSFetchRequestResult> = NSFetchRequest()
    fetchRequest.fetchLimit = 10
    fetchRequest.fetchOffset = 0
    
    let entity = NSEntityDescription.entity(forEntityName: entityName, in: contexts)
    fetchRequest.entity = entity
    
    let predicate = NSPredicate.init(format: "name = 'nnn'", "")
    fetchRequest.predicate = predicate
    
    do {
      
      let fetchedObjects = try contexts.fetch(fetchRequest) as! [Person]
      for one: Person in fetchedObjects {
        print("==========\(String(describing: one.name))")
        print("==========\(String(describing: one.uid))")
        print("==========\(String(describing: one.url))")
      }
      
    } catch  {
      let nserror = error as NSError
      fatalError("查询错误: \(nserror), \(nserror.userInfo)")
      
    }
复制代码

demo: https://github.com/BJGX/UseOfCoreData

转载于:https://juejin.im/post/5a41aed25188257d38443535

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值