Swift init()上的MKLocalSearch不';行不通
我正在尝试在Swift中使用mkLocalSearchAPI。但我不能让它工作。错误来自于Swift init()上的MKLocalSearch不';行不通,swift,mklocalsearch,Swift,Mklocalsearch,我正在尝试在Swift中使用mkLocalSearchAPI。但我不能让它工作。错误来自于 var search:MKLocalSearch = MKLocalSearch.init(request) 我阅读了文档,它声明方法名为init(request:),我不确定我做错了什么。请告知。:) 更改此行: var search:MKLocalSearch = MKLocalSearch.init(request) 致: 本例中涉及的命名让人有点困惑-第一部分,request:是一个告诉Swi
var search:MKLocalSearch = MKLocalSearch.init(request)
我阅读了文档,它声明方法名为init(request:),我不确定我做错了什么。请告知。:)
更改此行:
var search:MKLocalSearch = MKLocalSearch.init(request)
致:
本例中涉及的命名让人有点困惑-第一部分,request:
是一个告诉Swift调用哪个init函数的标签-在本例中,它映射回Objective-CinitWithRequest:
方法
第二部分,request
是传递给init函数的MKLocalSearchRequest
变量。因此,Objective-C等价物如下:
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
苹果公司的《Swift编程语言》一书中有一整章的标题是“初始化”,可以在iBooks商店中找到,并且是PDF格式,尽管PDF格式更差(近乎糟糕)。这对于init来说是不正确的语法。它们是斯威夫特暗示的,所以你可以用
var x = MKLocalSearch(request: request)
不是
顺便说一下,
placemarks.addObject(placemarks)
看起来是错误的。请尝试placemarks.addObject((项目名为MKMapItem.placemark)
。谢谢。那可以节省我很多时间!你知道我应该如何初始化MKLocalSearch吗?我认为应该是var-search:MKLocalSearch=MKLocalSearch(request:request)
或者只是var-search=MKLocalSearch(request:request)
,因为Swift可以推断类型。第二个“请求”是您的变量。非常感谢!终于成功了!在我更改为您的类型名称后,它仍然抛出一个错误,称为“类型名称后需要成员名称或构造函数调用”。
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
var x = MKLocalSearch(request: request)
var x = MKLocalSearch.init(request)