MKLocalSearch
Оператор импорта
Swift
import MapKit
Objective C
@import MapKit;
Доступность
Доступный в iOS 6.1 и позже.
MKLocalSearch объект инициирует основанную на карте поисковую работу и поставляет результаты назад к Вашему приложению асинхронно. Поисковые объекты разработаны для выполнения одной поисковой работы только. Для выполнения нескольких различных поисков необходимо создать отдельные экземпляры этого класса и запустить их отдельно.
Вы используете этот класс для выполнения программируемых поисков основанной на карте информации. Например, можно использовать этот класс для поиска адресов или интересных мест почти таким же способом, которым пользователь мог бы искать те элементы в приложении Карт.
-
init (запрос:) - initWithRequest:Определяемый инициализаторИнициализирует и возвращает поисковый объект, сконфигурированный с указанными параметрами.
Объявление
Swift
init!(requestrequest: MKLocalSearchRequest!)Objective C
- (instancetype)initWithRequest:(MKLocalSearchRequest *)requestПараметры
requestИнформация о поисковом запросе. Этот параметр не должен быть
nil.Возвращаемое значение
Инициализированный поисковый объект.
Обсуждение
Этот метод хранит копию объекта в
requestпараметр. Так любые изменения Вы делаете к своему объекту запроса после вызова этого метода, проигнорированы.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в iOS 6.1 и позже.
-
Запускает поиск и поставляет результаты к указанному обработчику завершения.
Объявление
Swift
func startWithCompletionHandler(_completionHandler: MKLocalSearchCompletionHandler!)Objective C
- (void)startWithCompletionHandler:(MKLocalSearchCompletionHandler)completionHandlerПараметры
completionHandlerБлок обработчика завершения, обрабатывающий результаты. Этот параметр не должен быть
nil.Обсуждение
Вы используете этот метод для инициирования основанной на карте поисковой работы. Поисковые выполнения, пока результаты не поставлены, в которой точке вызывают указанный обработчик завершения.
Необходимо вызвать этот метод только один раз для запуска поисковой работы. Вызов этого метода, в то время как поиск работает, не мешает исходной поисковой работе закончиться. Однако для каждого последующего вызова, поисковый объект выполняет Ваш обработчик завершения и передает ошибочный объект ему.
Предоставленный обработчик завершения всегда выполняется на основном потоке Вашего приложения. Объект локального поиска сохраняет ссылку на блок обработчика завершения, пока результаты (или ошибка) не поставлены, в которой точке это оставляет ту ссылку.
Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в iOS 6.1 и позже.
-
searchingСвойствоБулевская переменная, указывающая, в настоящее время происходит ли поиск. (только для чтения)
Объявление
Swift
var searching: Bool { get }Objective C
@property(nonatomic, readonly, getter=isSearching) BOOL searchingОбсуждение
Значение этого свойства установлено в
YEStrueкогда поиск инициируется и остается в том состоянии, пока результаты поиска (или надлежащая ошибка) не поставлены, в котором времени свойство установлено вNOfalse.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в iOS 6.1 и позже.
-
Отменяет происходящую поисковую работу.
Объявление
Swift
func cancel()Objective C
- (void)cancelОбсуждение
Если никакая поисковая работа не происходит, этот метод ничего не делает.
Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в iOS 6.1 и позже.
Типы данных
-
Обработчик завершения блокирует для поисковой работы.
Объявление
Swift
typealias MKLocalSearchCompletionHandler = (MKLocalSearchResponse!, NSError!) -> VoidObjective C
typedef void (^MKLocalSearchCompletionHandler)(MKLocalSearchResponse *response, NSError *error);Обсуждение
Этот блок берет два параметра:
responseпараметр содержит результаты поиска. Если ошибка произошла, этот параметр устанавливается наnilи надлежащий ошибочный объект предоставлен вerrorпараметр.errorпараметрnilесли поиск был успешен. Если ошибка произошла во время работы, этот параметр устанавливается на надлежащий ошибочный объект.
Этот блок не имеет никакого возвращаемого значения.
Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в iOS 6.1 и позже.
