我有一个子类UIViewController,它充当ABPeoplePicker导航控制器代理。这个视图控制器在几种不同的情况下调用这个ABPeoplePicker,而我遇到的问题是弄清楚我在回应哪种情况
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
UIAlertView具有从UIView继承的标记属性以帮助对其进行排序,但我找不到在ABPeoplePickerNavigationController中使用的类似属性。 Cocoa ninjas如何处理这样的情况?分拆自定义代表?在视图控制器子类中摆弄一些BOOL?
答案 0 :(得分:0)
基本上,你有一些状态,你在问它属于什么,对吧?不幸的是,答案是“这真的取决于国家。”
如果它与视图控制器的操作有关,我会说把它粘在那里并保持视图控制器作为代表。
如果它不是真正相关的并且整个代表可以移动到一个单独的对象中,那么最终可能会更加清晰。使用数十种方法可以很容易地获得数百行的梦魇控制器。将事物拆分成多个对象并使用合成模式可能非常有用。