核心数据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,完成:无) 
}
抓住
{
打印(错误)
}
}
 抓住 
{
打印(错误)
}
}

因此,核心数据就是这样。

感谢您的阅读。