4

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()
        })
    }

}

これは、デフォルトのカレンダーアプリの場所検索と私のアプリの検索の画像です。

ここに画像の説明を入力

ここに画像の説明を入力

4

0 に答える 0