Запрашиваемая точность
Безусловно. Чем выше запрашиваемая точность, тем больше энергии потребляет Core Location и тем больше времени займет получение информации. Информация с низкой точностью возвращается быстрее. Используйте точность, необходимую для вашего приложения, но помните, к чему приводит получение высокоточной информации.
Можно ли просто дождаться, пока у Core Location появятся данные (вместо того чтобы передавать делегата для обратного вызова)?
Нет. Core Location, как и другие подсистемы iOS, использует асинхронный обратный вызов при появлении данных. Сетевой доступ работает аналогичным образом. Проследите, чтобы пользователи были в курсе событий и понимали, что можно (или нельзя) сделать в настоящий момент. Например, при отсутствии данных позиционирования в нашем приложении кнопка Captured блокируется. Возможны другие варианты отображение индикатора ожидания (вращающаяся шестеренка) или вывод данных с индикатором недоступности (значок, кнопка, надпись и т. д.).
Зачем мы выполняли рефакторинг и перемещение кода?
Чтобы избежать дублирования кода. Мы «почистили» код и устранили дублирование, выделив повторяющиеся фрагменты в отдельный метод, который вызывается из двух мест.
В заголовочном файле отражен открытый интерфейс (API). Мы не хотим, чтобы внутренний метод был частью API (мы не хотим, чтобы кто-то посторонний мог его вызвать). Объявить его необходимо, чтобы компилятор проверил правильность вызова, поэтому в интерфейс файла реализации включается приватный набор методов. Некоторые программисты снабжают имена приватных методов префиксом _ (подчеркивание); сразу понятно, что это внутренний метод, который должен вызываться только в собственной реализации класа. Тем не менее фирма Apple зарезервировала такое обозначение для своих приватных методов.
Работа с Core Location не так уж трудна. Вот, и настало время проверки.
Петя не согласен на широту и долготу.
Координаты хороши для заполнения анкет и всего такого, но я предпочитаю наглядную информацию.
Это же iPhone. Карта будет намного более уместной.
Какой прок от доступности сети и современной графики, если мы отображаем обычное текстовое поле? Небольшой фрагмент кода и iOS Map Kit позволят нам реализовать более элегантное решение.
Map Kit — инструментарий для работы с картами в iOS.
В iOS 3.0 фирма Apple открыла API для работы с Map Kit. Разработчики получили доступ к картам Google, включая результаты спутниковых съемок. При работе с картами поддерживаются разнообразные пользовательские настройки: выбор размера отображаемой области, начальный масштаб, аннотации и маркеры.
С технической точки зрения использование Map Kit имеет много общего с использованием Corew Location: прежде всего необходимо добавить новую библиотеку и включить директиву #import в заголовочный файл.
- Дата: 9-01-2015, 23:51