|
|
1
1
忘记设计模式吧。如果有一个设计模式,那么它就是“委托设计模式”。 UITableView可以以无数种不同的方式显示数据。数据可以来自无数个不同的地方。UITableView无法处理所有这些。 这就是为什么应用程序提供一个 代表 对象,该对象为UITableView提供数据。代理必须能够告诉UITableView表中有多少节,每个节中有多少行,每行的数据,每个节的页眉和页脚。有了这些知识,UITableView就可以完成它的工作。如果没有这个委托,您将不得不创建UITableView的很多子类,这很痛苦。 但是没有UITableViewDelegate类,因为这样您就必须创建UITableViewDelegate的许多子类,并且面临着与数百万子类完全相同的问题。相反,有一个 协议 。协议定义委托需要支持哪些方法,然后将这些委托方法添加到理解数据的某个类中。 委托模式的工作原理是:创建一个完成这项艰巨工作的类。但是,为了使类能够适应不同的情况,您为它提供了一个委托对象,该对象实现了不同情况之间的差异。委托对象通常是一个完全不相关的类的实例,委托方法已添加到该类中。 |
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 2 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 2 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 2 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 2 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 2 年前 |