0

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

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

UIAlertView 具有从 UIView 继承的 tag 属性来帮助解决这个问题,但我找不到在 ABPeoplePickerNavigationController 中使用的类似属性。可可忍者如何处理这种情况?剥离自定义代表?在视图控制器子类中摆弄一些 BOOL?

4

1 回答 1

0

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

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

如果它不是真正相关的并且整个委托可以移动到一个单独的对象中,那最终可能会更干净。用几十种方法得到几百行长的噩梦控制器真的很容易。将事物拆分为多个对象并使用组合模式非常有用。

于 2010-02-20T04:40:32.067 回答