核心数据iOS Swift
2.创建项目后,您将获得“ CoreData.xcdatamodeld”,我们将创建模型实体和其他用途。
3.单击CoreData.xcdatamodeld创建一个实体。
点击“添加实体”按钮创建实体。
4.添加属性
现在,我们有了Entity和attribute,所以让我们开始将数据添加到Core Data中。
#将数据添加到核心数据
func saveData {
卫队让appDelegate = UIApplication.shared.delegate为? AppDelegate else {返回}
// 1
让managedContext = appDelegate.persistentContainer.viewContext
// 2
让实体= NSEntityDescription.entity(forEntityName:“ YourEntityName”,在:managedContext中)!
让person = NSManagedObject(实体:entity,insertInto:managedContext)
// 3
person.setValue(nameValue,forKeyPath:“名称”)
person.setValue(ageValue,forKeyPath:“ age”)
// 4
做{
尝试managedContext.save()
people.append(人)
let alert = UIAlertController(标题:“成功”,消息:“保存成功”,preferredStyle:UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title:“ Ok”,样式:UIAlertAction.Style.default,处理程序:nil))
self.present(警告,动画:true,完成:无)
}将let错误捕获为NSError {
//打印(“无法保存。\(错误),\(错误.userInfo)”)}
}
#从核心数据中检索数据
func getData(){
var people:[NSManagedObject] = []
// 1
卫队让appDelegate = UIApplication.shared.delegate为? AppDelegate else {
返回
}
让managedContext = appDelegate.persistentContainer.viewContext
// 2
让fetchRequest = NSFetchRequest (entityName:“ YourEntityName”)
// 3
做{
人员=尝试managedContext.fetch(fetchRequest)
// print(“ **************** FETCHED REQUEST DATA **************”
//打印(人)
}将let错误捕获为NSError {
//打印(“无法获取。\(错误),\(错误.userInfo)”
}
}
#从核心数据中删除细节
func deleteParticulars(name:String){
// 1
卫队让appDelegate = UIApplication.shared.delegate为? AppDelegate else {return}
让managedContext = appDelegate.persistentContainer.viewContext
// 2
让fetchrequest = NSFetchRequest (entityName:“ YourEntityName”)
fetchrequest.predicate = NSPredicate(格式:“名称=%@”,名称)
// 3
做{
让测试=尝试ManagedContext.fetch(fetchrequest)
让objectToDelete = test [0]为! NSManagedObject
managedContext.delete(objectToDelete)
做{
尝试managedContext.save()
// print(“成功删除”)
} {
//打印(错误)
}
} {
//打印(错误)
}
}
#从核心数据更新数据
func updateData(name:String,age:String){
// 1
卫队让appDelegate = UIApplication.shared.delegate为? AppDelegate else {return}
让managedContext = appDelegate.persistentContainer.viewContext
// 2
让fetchRequest:NSFetchRequest = NSFetchRequest.init(entityName:“ Questiontable”)
// 3
让fetchrequest = NSFetchRequest (entityName:“ YourEntityName”)
fetchrequest.predicate = NSPredicate(格式:“名称=%@”,名称)
做
{
让测试=尝试ManagedContext.fetch(fetchrequest)
让objectUpdate = test [0]为! NSManagedObject
objectUpdate.setValue(newNameValue,forKey:“名称”)
objectUpdate.setValue(newAgeValue,forKey:“ age”)
做{
尝试managedContext.save()
让alert = UIAlertController(title:“成功”,消息:
“成功更新”,preferredStyle:UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title:“ Ok”,样式:UIAlertAction.Style.default,处理程序:nil))
self.present(警告,动画:true,完成:无)
}
抓住
{
打印(错误)
}
}
抓住
{
打印(错误)
}
}
因此,核心数据就是这样。
感谢您的阅读。