使用警报VC从coreData删除地图对象,然后保存

时间:2018-08-27 23:49:19

标签: swift core-data mapkit

我有一张地图,上面有从coreData加载的引脚。在注释视图中,我有一个按钮,它会弹出一个警报视图控制器。从这里开始,目标是使用户能够删除注释或编辑信息并重新保存。

要编辑信息,我将让用户选择一个新的vc,并使用try context.save()编辑信息并保存到coreData,除非您向我展示一种更好的方法!

我要寻求帮助的问题是从警报中删除。我可以从此处删除注释,但是只要重新加载地图,注释就会返回,因为它们是从coreData加载的。 这是我在警报中使用的代码

extension MapViewController: ExampleCalloutViewDelegate {
  func mapView(_ mapView: MKMapView, didTapDetailsButton button: UIButton, for annotation: MKAnnotation) {



    let alert = UIAlertController(title: "Edit or Delete", message: "Any changes are permenate!", preferredStyle: .alert)
    let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)



    alert.addAction(UIAlertAction(title: "Add more info and save on map ", style: .default, handler: {action in self.performSegue(withIdentifier: "saveDetails", sender: self)}))

    alert.addAction(UIAlertAction(title: "Delete", style: .default, handler: {action in self.map.removeAnnotation(annotation)}))
    alert.addAction(cancelAction)

    self.present(alert, animated: true, completion: nil)
  }
}

0 个答案:

没有答案