Swift 3.0 使用Core Data

Swift 3.0 使用Core Data,第1张

概述swift版本:3.0 Xcode版本:8.0 iOS版本:10.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。 注:这个是一种convenience方法,即快速实现。所以并不需要新建对应于entity的class 1.新建工程 没什么好说的,勾选 Use Core Dat

swift版本:3.0
Xcode版本:8.0
iOS版本:10.0

自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。
注:这个是一种convenIEnce方法,即快速实现。所以并不需要新建对应于entity的class
1.新建工程
没什么好说的,勾选 Use Core Data

2.打开xcdatamodeld文件,新建一个entity,我们叫它Person,然后在右侧的Attributes里面增加属性,这里添加了name和age两个属性,type自选

3.获取Context,为了方便使用,这里封装成一个函数
注意!!:在对应的swift文件内需要先 import CoreData

func getContext () -> NSManagedobjectContext {        let appDelegate = UIApplication.shared.delegate as! AppDelegate        return appDelegate.persistentContainer.vIEwContext    }

4.存储一条新数据

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)       }}

5.获取entity的全部内容

// 获取某一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)        }    }

这样数据就可以完全的写入APP内部了

放上完整demo的链接
完整demo

效果截图

参考:

https://learnappdevelopment.com/uncategorized/how-to-use-core-data-in-ios-10-swift-3/

总结

以上是内存溢出为你收集整理的Swift 3.0 使用Core Data全部内容,希望文章能够帮你解决Swift 3.0 使用Core Data所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1071472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存