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