swift3.0 CoreData使用变简单了哦

ios开发的大家,肯定都知道OC中的CoreData特别难用;swift3.0改变了CoreData的用法,非常方便开发者使用!

一、创建.xcdatamodeld文件;初始化字段

demo的使用

二、save数据

 // 获取Context
    func getContext () -> NSManagedObjectContext {
        let appDelegate = UIApplication.shared.delegate as! AppDelegate
        return appDelegate.persistentContainer.viewContext
    }
// 存储Person
    func storePerson(name:String, age:Int){
        let context = getContext()
        // 定义一个entity,这个entity一定要在xcdatamodeld中做好定义
        let entity = NSEntityDescription.entity(forEntityName: "Person", in: context)
        
        let person = NSManagedObject(entity: entity!, insertInto: context)
        
        person.setValue(name, forKey: "name")
        person.setValue(age, forKey: "age")
        
        do {
        try context.save()
            print("saved")
        }catch{
            print(error)
        }
    }

3、读取数据

    // 获取某一entity的所有数据
    func getPerson(){

        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")
        do {
            let searchResults = try getContext().fetch(fetchRequest)
            print("numbers of \(searchResults.count)")
            
            for p in (searchResults as! [NSManagedObject]){
                print("name:  \(p.value(forKey: "name")!) age: \(p.value(forKey: "age")!)")
            }
        } catch  {
            print(error)
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS CoreData介绍和使用(以及一些注意事项) 最近花了一点时间整理了一下CoreData,对于经常使用S...
    Pocket阅读 23,112评论 34 92
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,273评论 30 472
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,296评论 4 61
  • 今晚学习纽扣结,上节课的金刚结学的还不错,觉得打结应该也难不倒我,头一两次脑筋还清醒,在那些圈圈里绕绕,虽然整理的...
    萃_柳州阅读 139评论 0 0
  • 渔家傲 快递员 单骑快蹬飞马路,红灯岂会把君阻?雨雪风霜全不顾,精神鼓,万家订单来交付。 日日年年如此度,星星月...
    老财神阅读 96评论 1 6