Skip to content

Instantly share code, notes, and snippets.

@bpisano
Created June 18, 2019 09:53
Show Gist options
  • Save bpisano/72cf76792a13af15836a442b35a0fb92 to your computer and use it in GitHub Desktop.
Save bpisano/72cf76792a13af15836a442b35a0fb92 to your computer and use it in GitHub Desktop.
Embedded code in my Weather article on Medium
import SwiftUI
import Combine
import MapKit
class CityFinder: NSObject, BindableObject {
var didChange = PassthroughSubject<CityFinder, Never>()
var results: [String] = [] {
didSet {
didChange.send(self)
}
}
private var searcher: MKLocalSearchCompleter
override init() {
results = []
searcher = MKLocalSearchCompleter()
super.init()
searcher.resultTypes = .address
searcher.delegate = self
}
func search(_ text: String) {
searcher.queryFragment = text
}
}
extension CityFinder: MKLocalSearchCompleterDelegate {
func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) {
results = completer.results.map({ $0.title })
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment