У меня есть карта с булавками, которые загружаются из coreData. В представлении аннотации у меня есть кнопка, которая вызывает контроллер представления предупреждений. Отсюда цель состоит в том, чтобы пользователь мог удалить аннотацию или отредактировать информацию и повторно сохранить ее.
Чтобы отредактировать информацию, я заставлю пользователя перейти на новый виртуальный канал, отредактировать информацию и сохранить в coreData с помощью try context.save () Если вы не покажете мне лучший способ!
Проблема, о которой я прошу помощи, - удаление прямо из предупреждения. Я могу удалить аннотацию отсюда, но как только карта перезагружается, аннотация возвращается, потому что они загружаются из 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)
}
}