我有一张地图,上面有从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)
}
}