我有符合MKLocalSearchCompleterDelegate的此类。我还实现了completerDidUpdateResults
。我正在使用SwiftUI,所以这里没有视图控制器。我正在尝试将整个逻辑投入使用。
当我尝试致电completer.queryFragment = "be"
时,没有任何反应。
这是我的代码:
import Foundation
import MapKit
class LocalSearchCompleterService: NSObject,MKLocalSearchCompleterDelegate {
let completer: MKLocalSearchCompleter = MKLocalSearchCompleter()
override init() {
super.init()
completer.delegate = self
let center = CLLocationCoordinate2D(latitude: 47.5596,longitude: 7.5886)
completer.region = MKCoordinateRegion(center: center,latitudinalMeters: 10000,longitudinalMeters: 10000)
}
func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) {
print("called")
let addresses = completer.results.map { result in
result.title + "," + result.subtitle
}
print(addresses)
}
func autocomplete() {
completer.queryFragment = "be"
}
}
然后我从外面叫它:LocalSearchCompleterService().autocomplete()
控制台没有任何反应
我想念什么?