Swift 3.0 使用Core Data
swift版本:3.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。 2.打开xcdatamodeld文件,新建一个entity,我们叫它Person,然后在右侧的Attributes里面增加属性,这里添加了name和age两个属性,type自选 3.获取Context,为了方便使用,这里封装成一个函数 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的链接 效果截图 参考:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |