ABPeoplePicker委托模式问题

时间:2010-02-20 01:53:15

标签: cocoa-touch delegates uiviewcontroller abpeoplepickerview

我有一个子类UIViewController,它充当ABPeoplePicker导航控制器代理。这个视图控制器在几种不同的情况下调用这个ABPeoplePicker,而我遇到的问题是弄清楚我在回应哪种情况

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

UIAlertView具有从UIView继承的标记属性以帮助对其进行排序,但我找不到在ABPeoplePickerNavigationController中使用的类似属性。 Cocoa ninjas如何处理这样的情况?分拆自定义代表?在视图控制器子类中摆弄一些BOOL?

1 个答案:

答案 0 :(得分:0)

基本上,你有一些状态,你在问它属于什么,对吧?不幸的是,答案是“这真的取决于国家。”

如果它与视图控制器的操作有关,我会说把它粘在那里并保持视图控制器作为代表。

如果它不是真正相关的并且整个代表可以移动到一个单独的对象中,那么最终可能会更加清晰。使用数十种方法可以很容易地获得数百行的梦魇控制器。将事物拆分成多个对象并使用合成模式可能非常有用。