2013-11-20 4 views
0

У меня есть лишь незначительный вопрос о стиле кодирования.Стиль кодирования делегирования?

У меня есть подкласс UIViewController, который является делегатом объекта MKMapView. Естественно, у меня есть ivar в моем контроллере, который указывает на MKMapView. Когда я пишу один из методов обратного вызова mapView:didUpdateUserLocation:, разумнее ли отправлять сообщения на переданную ссылку на карту или на ссылку ivar на карту?

Я знаю, что это по сути то же самое. Я использую ссылку ivar объекта просмотра карты. Каковы плюсы и минусы обоих стилей?

ответ

2

Поскольку вы знаете, что оба объекта MKMapView являются одним и тем же, это не имеет значения в данном конкретном случае. Причиной для конвенции, требующей, чтобы первый параметр делегата был вызывающим объектом, является обработка ситуации, когда класс является делегатом более чем одного объекта. Например. если вы показываете два разных UIAlertView в вашем контроллере вида, а контроллер представления является делегатом для обоих (общий сценарий), то вы хотите знать в методах делегатов, с которыми вы сталкиваетесь.

+0

Так что это хорошая идея, чтобы привыкнуть использовать приведенную ссылку. –

+0

Я думаю, что это более согласовано. Вопрос личного стиля :) – Macondo2Seattle

+0

Когда это действительно не имеет значения, помните о возможности повторного использования и удобочитаемости. – juniperi

Смежные вопросы