【问题标题】:Working principle of delegate and datasource委托和数据源的工作原理
【发布时间】:2016-04-14 01:32:58
【问题描述】:

只想知道 iOS 委托和数据源的工作原理。 例如,当我在某个 ViewController 中调用 [tableView numberOfRowsInSection] 时。

似乎它正在返回我 [tableView.dataSource numberOfRowsInSection]

但是如何调用 [tableView numberOfRowsInSection] 而不返回 [tableView.dataSource numberOfRowsInSection]?

我可以知道代码背后发生了什么吗?提前致谢。

【问题讨论】:

  • 表格视图正在缓存行数,直到您使用插入/删除/重新加载方法通知它它已更改。

标签: ios uitableview delegates


【解决方案1】:

在 iOS 中,委托和数据源以委托模式实现。它们之间的区别在于它的责任和与委托对象的关系。委托是对用户界面的控制,而数据源是对数据的控制。它们都必须采用协议,其中定义了一组相互关联的方法。

实现的表视图委托和数据源旨在采用使用委托模式的最佳实践之一。委托设计模式有时会以回调函数的形式响应,但是,在表格视图数据源和委托的情况下,它允许您控制和自定义表格视图的属性和行为。

您可以看到的一个示例是,实现委托和数据源允许您自定义表格视图属性,例如数量或部分、行数、单元格类型以及单击行等行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多