Skip to content

Commit 6e23eff

Browse files
committed
Cancel search upon MapViewController dismissal
1 parent 9ea474c commit 6e23eff

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Pod/Classes/MapViewController.swift

+9-1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ open class MapViewController: UIViewController {
6666
// TODO: Restore searchController state by implementing UIStateRestoring.
6767
}
6868

69+
override open func viewDidDisappear(_ animated: Bool) {
70+
super.viewDidDisappear(animated)
71+
72+
search?.cancel()
73+
}
74+
6975
override open func didReceiveMemoryWarning() {
7076
super.didReceiveMemoryWarning()
7177

@@ -77,6 +83,7 @@ open class MapViewController: UIViewController {
7783
fileprivate var removableAnnotations: [MKAnnotation] {
7884
return mapView.annotations.filter(isNonSelectedPlacemark)
7985
}
86+
fileprivate var search: MKLocalSearch?
8087
fileprivate var searchQuery = "" {
8188
didSet {
8289
updateSearchRequest()
@@ -218,7 +225,7 @@ open class MapViewController: UIViewController {
218225
*/
219226
@objc fileprivate func searchMapItems() {
220227
let search = MKLocalSearch(request: searchRequest)
221-
search.start { (searchResponse, error) in
228+
search.start { [unowned self] (searchResponse, error) in
222229
guard let mapItems = searchResponse?.mapItems else {
223230
print("MKLocalSearch error: \(error)")
224231
return
@@ -227,6 +234,7 @@ open class MapViewController: UIViewController {
227234
guard mapItems != self.resultsViewController.mapItems else { return }
228235
self.resultsViewController.mapItems = mapItems
229236
}
237+
self.search = search
230238
}
231239

232240
/**

0 commit comments

Comments
 (0)