gpt4 book ai didi

iphone - 委托(delegate)们,我无法理解他们

转载 作者:太空狗 更新时间:2023-10-30 03:50:23 27 4
gpt4 key购买 nike

嘿,我正在寻找有关委托(delegate)的有用资源。我知道委托(delegate)坐在后台并在某些事情发生时接收消息 - 例如选择表格单元格,或检索来自 Web 连接的数据。

我特别想知道的是如何对多个对象使用委托(delegate)。据我所知,为对象(例如表格单元格)指定相同的委托(delegate)会导致同时为两个单元格调用相同的事件。有什么等同于为特定对象实例化委托(delegate)吗?

提前致谢!

最佳答案

在 Cocoa 中,对象几乎总是在调用委托(delegate)方法时标识自己。例如,UITableView 在调用它时将自身作为委托(delegate)消息的第一个参数传递:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

如果您希望同一个委托(delegate)处理多个 UITableView,那么您只需要对传递给该方法的 tableView 对象设置一些条件:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.myFirstTableView) {
// do stuff
} else if (tableView == self.mySecondtableView) {
// do other stuff
}
}

如果您不想直接比较对象指针,您始终可以使用 tag 属性来唯一标识您的 View 。

关于iphone - 委托(delegate)们,我无法理解他们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792815/

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