我试图在Swift中使用MKLocalSearch Api。但我不能让它起作用。错误来自
var search:MKLocalSearch = MKLocalSearch.init(request)我阅读了文档,它说明了方法名是init(请求:),我不知道我做错了什么。请指点。:)
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 {
}
}发布于 2014-07-17 21:26:46
更改这一行:
var search:MKLocalSearch = MKLocalSearch.init(request)至:
var search:MKLocalSearch = MKLocalSearch.init(request: request)这个例子所涉及的命名有点让人困惑--第一部分,request:是一个标签,它告诉Swift调用哪个init函数--在本例中,它是映射回Objective initWithRequest:方法。
第二部分,request是要传递给init函数的MKLocalSearchRequest变量。所以目标-C对应的是:
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];在苹果的Swift编程语言书中,有一整章的标题是“初始化”,可以在iBooks商店和PDF 这里上找到,尽管PDF中有更糟糕的格式(有点糟糕)。
发布于 2015-03-12 22:37:51
init的语法不正确。它们是Swift暗示的,所以你可以用
var x = MKLocalSearch(request: request)不
var x = MKLocalSearch.init(request)https://stackoverflow.com/questions/24813788
复制相似问题