После некоторого расширенного обсуждения с вами в комментариях:
Перезаписываемые функции MKOverlayView, такие как canDrawMapRect
, нельзя легко отследить до их вызывающего кода, поскольку этот код скрыт где-то в MapKit.framework.
Вместо этого, типичный подход - перечитывать их документацию, пока вы не получите представление о том, для чего фреймворк использует функцию. (Существует такая вещь, как декомпиляция двоичных файлов, хотя это, как правило, осуждается, и я не рекомендую это.)
canDrawMapRect
документация: http://developer.apple.com/library/ios/documentation/MapKit/Reference/MKOverlayView_class/Reference/Reference.html#//apple_ref/doc/uid/TP40009715-CH1-SW10
Прочитав их документацию, я сделал вывод: где-то в MapKit.framework, canDrawMapRect
вызывается до фактического рисования представления. Если вы не переопределили эту функцию в своем подклассе, она вызывает реализацию суперкласса по умолчанию, которая всегда возвращает YES, а затем вызывает drawMapRect:
(которая ДОЛЖНА быть переопределена, если вы создаете подкласс MKOverlayView, иначе ничего не будет рисоваться!)
Класс, который вы указали выше, потенциально возвращает NO. В этом конкретном случае код в MapKit.framework пропускает вызов drawMapRect:
, и ничего не отображается (или обновляется).
Итак, короткая история: для этого случая вы должны играть в детектор кода и надеяться, что документация написана достаточно четко, чтобы понять это, не видя весь код.
Редактировать: просто для дальнейшего уточнения. Похоже, что MKOverlayView должен быть разделен на подклассы, чтобы действительно генерировать что-то видимое.
Мой оригинальный ответ, прежде чем перейти к основному вопросу -
Краткий ответ: Это частные функции для использования в этом классе.
Длинный ответ: функции, объявленные в категории с пустым именем вверху
файлов реализации видны только классу
расширения. Таким образом, эти функции могут быть вызваны только в пределах
реализация класса. (C ++ эквивалент будет просто объявить
функции приватные)
3 из этих 4 функций вызываются в том же файле .m. Без
копаться, я думаю, они написали первую функцию, а затем
позже решил не использовать его.