gpt4 book ai didi

objective-c - TableView 的多个委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 20:26:32 25 4
gpt4 key购买 nike

您好,我一直在谷歌搜索,但找不到答案,也许有不同的方法可以做到这一点,所以我将其发布到社区。

我在 UIViewController 中有一个 TableView 。 UIViewController 是 TableView 的数据源和委托(delegate)。然后我有第二个 Controller ,它对主 UIViewController 中的滚动使用react。理想情况下,我希望第二个 Controller 也是一个委托(delegate),以便 scrollviewDidBeginScrolling 将在两个 Controller 中触发。我想这样做是因为它使 Controller 2 非常容易实现,因为您将它设置为委托(delegate)并传入 tableview 引用,它会完成所有繁重的工作。

基本上你可以将委托(delegate)数组传递给 tableView.delegate 吗?我可以看到一些情况,您希望多个 Controller 或 View 对类似 scrollViewDidBeginScrolling 的事件使用react。有什么方法可以完成类似的事情而不必做类似的事情

-(void)scrollViewDidBeginScrolling:(UIScrollView *)scrollView{
[anotherViewController scrollviewDidScroll:scrollview];
[otherView scrollViewDidScroll:scrollview];
}

我将它用于 Controller ,而不是为 TableView 处理拉动刷新,我希望在 TableView Controller 中使用尽可能少的行/方法,使实现尽可能简单。

最佳答案

您可以完成所需的工作,但需要链接委托(delegate)。 TableView 将只有一个委托(delegate),但您可以在作为 TableView 委托(delegate)的 View Controller 中定义自己的自定义委托(delegate)方法,并将您的另一个 View Controller 设置为它的委托(delegate)。另一种蛮力方法是只发送通知并让 View Controller 注册通知。

关于objective-c - TableView 的多个委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13708953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com