我正在创建一个 iOS 应用程序,我需要创建一个约会,类似于默认日历应用程序的“创建事件”。
我必须填写一个位置字段,该字段将指定约会的位置,并且我正在使用 MKLocalSearchRequest/MKLocalSearch。
但是,我得到的输出与我在默认日历应用程序上得到的完全不同。
我想得到日历应用程序的类似结果。
我的问题是 - 为什么我得到的结果与日历应用程序不同?以及我应该怎么做才能获得与日历应用程序类似的结果。
我的代码很简单-
我有一个具有表视图的视图控制器,它实现了 UISearchResultsUpdating
这样一来,用户就可以在搜索栏输入一些文本,并在此基础上执行 MKLocalSearch 并返回结果。
func updateSearchResultsForSearchController(searchController: UISearchController) {
locations_name.removeAll(keepCapacity: false)
locations_title.removeAll(keepCapacity: false)
var searchRequest = MKLocalSearchRequest()
searchRequest.naturalLanguageQuery = searchController.searchBar.text
var search = MKLocalSearch(request: searchRequest)
search.startWithCompletionHandler { (response : MKLocalSearchResponse! , error : NSError!) -> Void in
if response == nil {
return
}
for result in response.mapItems {
let item = result as! MKMapItem
self.locations_name.append(item.name)
self.locations_title.append(item.placemark.title)
}
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.tableView!.reloadData()
})
}
}
这是默认日历应用程序位置搜索和我的应用程序搜索的图像。