一位代表,到 ViewController 好吗?

Posted

技术标签:

【中文标题】一位代表,到 ViewController 好吗?【英文标题】:One delegate, Two UIViewCotrollers okay? 【发布时间】:2014-09-11 15:14:13 【问题描述】:

正如标题所暗示的,我在问是否可以将单个委托链接到我的项目中的两个不同的 UIViewController。我试图在我的项目中链接到两个不同的 VC,但这让第一个 VC 的行为很奇怪,所以我想知道我是否做错了? 对不起,如果这是一个菜鸟问题,还是新手。

【问题讨论】:

您需要提供比“行为怪异”更多的细节。 【参考方案1】:

这完全没有问题。

委托协议只是一个协议。一个对象可以同时符合多个协议(例如UITableViewDelegateUITableViewDatasource)。

您可能有两个视图控制器,例如 MyPersonViewControllerMyAnimalViewController,它们将具有像 MyPersonViewControllerDelegateMyAnimalViewControllerDelegate 这样的委托协议。

然后你就可以做...

self.personViewController.delegate = self;
self.animalViewController.delegate = self;

唯一需要确保的是,当您收到来自每个 VC 的回电时,您不会混淆他们。最好的方法是使用与UITableViewDatasource 相同的模式,并在方法前面加上...

- (void)personViewController:(MyPersonViewController *)controller gotSomeResults:(NSArray *)results

什么的。无论如何,对于每个控制器,您都有一套完全不同的委托方法。

【讨论】:

以上是关于一位代表,到 ViewController 好吗?的主要内容,如果未能解决你的问题,请参考以下文章

挖矿的收益应该怎么分配?现在参与挖矿好吗?

使用 Swift 的代表

代表仍然为零

单击按钮导航到root viewcontroller

拜托,别再问我 QPSTPSPVUVGMVIPRPS 好吗?

无法设置我的 UITabbar 的代表