大佬教程收集整理的这篇文章主要介绍了Swift 3.0 使用Core Data,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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)
}
}
// 获取某一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内部了
效果截图
参考:
以上是大佬教程为你收集整理的Swift 3.0 使用Core Data全部内容,希望文章能够帮你解决Swift 3.0 使用Core Data所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。