Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 数据源和委托选项_Ios_Swift - Fatal编程技术网

Ios 数据源和委托选项

Ios 数据源和委托选项,ios,swift,Ios,Swift,创建表视图时,ViewController类采用“UITableViewDelegate”和“UITableViewDataSource”协议。要创建表视图,我们必须从这些协议的方法中获益。我明白这一点 但是,在创建表视图时,我们还选择tableview数据源和tableview委托选项,并通过拖动将它们与ViewController类匹配。这些都是在故事板文件中执行的 为什么比赛过程很重要 我们为什么要执行此匹配过程?您不需要遵守这两个协议,也不需要在情节提要中设置委托和数据源,也可以通过编程

创建表视图时,ViewController类采用“UITableViewDelegate”和“UITableViewDataSource”协议。要创建表视图,我们必须从这些协议的方法中获益。我明白这一点

但是,在创建表视图时,我们还选择tableview数据源和tableview委托选项,并通过拖动将它们与ViewController类匹配。这些都是在故事板文件中执行的

为什么比赛过程很重要


我们为什么要执行此匹配过程?

您不需要遵守这两个协议,也不需要在
情节提要中设置
委托
数据源
,也可以通过编程来完成

仅当您在
ViewController
中使用的
UITableView
不是子类化的
UITableViewController
时,才需要执行这些操作
UITableViewController
会自动为您遵守这两个协议

您需要将
委托
/
数据源
设置为某个
视图控制器
,因为系统需要知道在设置表视图时需要调用哪个类'
委托
/
数据源
方法。如果在同一个故事板中有多个视图控制器,其中包含表视图,而没有设置当前视图控制器的委托/数据源,系统将不知道需要为哪个表视图调用哪个类


符合
UITableViewDelegate
协议是可选的,如果您只需要在表视图上显示数据,而不需要用户与其交互,则只需要符合
UITableViewDataSource
协议。为了在表视图中设置节/单元格的数量,以及设置这些节/单元格的内容,这是必需的。

您不需要遵守这两个协议,也不需要在
情节提要
中设置
委托
数据源
,这也可以通过编程完成

仅当您在
ViewController
中使用的
UITableView
不是子类化的
UITableViewController
时,才需要执行这些操作
UITableViewController
会自动为您遵守这两个协议

您需要将
委托
/
数据源
设置为某个
视图控制器
,因为系统需要知道在设置表视图时需要调用哪个类'
委托
/
数据源
方法。如果在同一个故事板中有多个视图控制器,其中包含表视图,而没有设置当前视图控制器的委托/数据源,系统将不知道需要为哪个表视图调用哪个类


符合
UITableViewDelegate
协议是可选的,如果您只需要在表视图上显示数据,而不需要用户与其交互,则只需要符合
UITableViewDataSource
协议。这是设置表视图中的节/单元数量以及设置这些节/单元的内容所必需的。

假设您有许多视图控制器,每个视图控制器都有一个表视图。正如您所说,这个匹配过程将有助于连接哪个表视图与哪个视图控制器相关联。至少您必须实现
UITableViewDataSource
来告诉表视图需要显示多少行以及每行的单元格应该是什么。如果需要知道用户点击了哪个单元格等,则需要实现和
UITableViewDelegate
。阅读苹果的文档,了解每种协议的作用以及您需要它的原因。假设您有许多视图控制器,每个视图控制器都有一个表视图。正如您所说,这个匹配过程将有助于连接哪个表视图与哪个视图控制器相关联。至少您必须实现
UITableViewDataSource
来告诉表视图需要显示多少行以及每行的单元格应该是什么。如果需要知道用户点击了哪个单元格等,则需要实现和
UITableViewDelegate
。阅读苹果的文档,了解每种协议的作用以及您需要它的原因。即使使用UITableViewController,也不需要将其作为tableview的数据源和委托。非常感谢。我声明,ı无法理解匹配过程的目的,但几乎每个人都发送协议链接。你解释的目的非常好。@Goktug-很抱歉链接,但我认为你可以在那里获得详细信息,所以我给了你官方文档的链接。即使你使用UITableViewController,你也不需要让它成为tableview的数据源和委托。非常感谢你。我声明,ı无法理解匹配过程的目的,但几乎每个人都发送协议链接。你解释的目的非常好。@Goktug-很抱歉链接,但我认为你可以在那里获得详细信息,所以给了你官方文档的链接。