gpt4 book ai didi

swift - Swift init() 上的 MKLocalSearch 不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:16 24 4
gpt4 key购买 nike

我正在尝试在 Swift 中使用 MKLocalSearch Api。但我无法让它工作。错误来自

var search:MKLocalSearch = MKLocalSearch.init(request)

我阅读了文档,它指出方法名称是 init(request:) 我不确定我做错了什么。请指教。 :)

var request = MKLocalSearchRequest()
request.naturalLanguageQuery = searchTextFiled.text
println(searchTextFiled.text)
request.region = self.mapView.region //need to define region later
var search:MKLocalSearch = MKLocalSearch.init(request)
search.startWithCompletionHandler {
(response:MKLocalSearchResponse!, error:NSError!) in
if !error {
var placemarks:NSMutableArray = NSMutableArray()
for item in response.mapItems {
placemarks.addObject(placemarks)
}
self.mapView.removeAnnotations(self.mapView.annotations)
self.mapView.showAnnotations(placemarks, animated: true)
} else {

}
}

最佳答案

改变这一行:

var search:MKLocalSearch = MKLocalSearch.init(request)

收件人:

var search:MKLocalSearch = MKLocalSearch.init(request: request)

本例中涉及的命名有点令人困惑 - 第一部分 request: 是一个标签,告诉 Swift 要调用哪个 init 函数 - 在本例中,它映射回Objective-C initWithRequest: 方法。

第二部分,request 是您传递给 init 函数的 MKLocalSearchRequest 变量。所以 Objective-C 的等价物是这样的:

MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];

Apple 的 The Swift Programming Language 一书中有一整章标题为“初始化”,可在 iBooks 商店以 PDF 格式获得 here ,尽管 PDF 中的格式更差(接近于糟糕)。

关于swift - Swift init() 上的 MKLocalSearch 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24813788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com