0

У меня есть подкласса UIViewController, который действует как делегат контроллера навигации ABPeoplePicker. Этот вид контроллер вызывает этот ABPeoplePicker в нескольких различных ситуациях, и проблема, у меня является выяснение того, какая ситуация я реагировании вABPeoplePicker Вопрос о делетете делегата

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person 

UIAlertView обладает свойством тега, унаследованный от UIView, чтобы помочь разобраться в этом, но Я не могу найти подобное свойство для использования в ABPeoplePickerNavigationController. Каким образом ниндзя какао обрабатывает такие ситуации? Отключить пользовательские делегаты? Запустить некоторые BOOL в подклассе контроллера представления?

ответ

0

В принципе, у вас есть какое-то состояние, и вы спрашиваете, где он находится, не так ли? К сожалению, ответ: «Это действительно зависит от государства».

Если это связано с работой контроллера вида, я бы сказал, вставьте его туда и держите контроллер вида в качестве делегата.

Если это действительно не так, и весь делегат может быть перемещен в отдельный объект, это может быть в конце намного чище. На самом деле легко получить кошмарные контроллеры длиной в сотни строк с десятками и десятками методов. Разделение вещей на несколько объектов и использование шаблона композиции может быть действительно полезным.