未激发Swift LocalSearchCompleter
我有一个符合MKLocalSearchCompleterDelegate的类。我还实现了未激发Swift LocalSearchCompleter,swift,xcode,mapkit,swiftui,swift5,Swift,Xcode,Mapkit,Swiftui,Swift5,我有一个符合MKLocalSearchCompleterDelegate的类。我还实现了completerDidUpdateResults。我使用的是SwiftUI,所以这里没有视图控制器。我正试图将整个逻辑用于服务 当我尝试调用completer.queryFragment=“be”时,什么都没有发生 这是我的密码: import Foundation import MapKit class LocalSearchCompleterService: NSObject, MKLocalSear
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()
控制台中没有发生任何事情
我缺少什么?在哪里初始化服务?当我调用方法时:
LocalSearchCompleterService().autocomplete()
谢谢。没关系,我只需要执行var localSearchCompleterService=localSearchCompleterService(),然后执行.autocomplete(),但是。。。为什么我的意思是它不一样呢?它是从委托请求的吗?如果不是,你应该调用它,否则它不会自动触发。否则,存储服务的位置会出现问题