一位代表,到 ViewController 好吗?
Posted
技术标签:
【中文标题】一位代表,到 ViewController 好吗?【英文标题】:One delegate, Two UIViewCotrollers okay? 【发布时间】:2014-09-11 15:14:13 【问题描述】:正如标题所暗示的,我在问是否可以将单个委托链接到我的项目中的两个不同的 UIViewController。我试图在我的项目中链接到两个不同的 VC,但这让第一个 VC 的行为很奇怪,所以我想知道我是否做错了? 对不起,如果这是一个菜鸟问题,还是新手。
【问题讨论】:
您需要提供比“行为怪异”更多的细节。 【参考方案1】:这完全没有问题。
委托协议只是一个协议。一个对象可以同时符合多个协议(例如UITableViewDelegate
和UITableViewDatasource
)。
您可能有两个视图控制器,例如 MyPersonViewController
和 MyAnimalViewController
,它们将具有像 MyPersonViewControllerDelegate
和 MyAnimalViewControllerDelegate
这样的委托协议。
然后你就可以做...
self.personViewController.delegate = self;
self.animalViewController.delegate = self;
唯一需要确保的是,当您收到来自每个 VC 的回电时,您不会混淆他们。最好的方法是使用与UITableViewDatasource
相同的模式,并在方法前面加上...
- (void)personViewController:(MyPersonViewController *)controller gotSomeResults:(NSArray *)results
什么的。无论如何,对于每个控制器,您都有一套完全不同的委托方法。
【讨论】:
以上是关于一位代表,到 ViewController 好吗?的主要内容,如果未能解决你的问题,请参考以下文章