![]() |
1
1
忘记设计模式吧。如果有一个设计模式,那么它就是“委托设计模式”。 UITableView可以以无数种不同的方式显示数据。数据可以来自无数个不同的地方。UITableView无法处理所有这些。 这就是为什么应用程序提供一个 代表 对象,该对象为UITableView提供数据。代理必须能够告诉UITableView表中有多少节,每个节中有多少行,每行的数据,每个节的页眉和页脚。有了这些知识,UITableView就可以完成它的工作。如果没有这个委托,您将不得不创建UITableView的很多子类,这很痛苦。 但是没有UITableViewDelegate类,因为这样您就必须创建UITableViewDelegate的许多子类,并且面临着与数百万子类完全相同的问题。相反,有一个 协议 。协议定义委托需要支持哪些方法,然后将这些委托方法添加到理解数据的某个类中。 委托模式的工作原理是:创建一个完成这项艰巨工作的类。但是,为了使类能够适应不同的情况,您为它提供了一个委托对象,该对象实现了不同情况之间的差异。委托对象通常是一个完全不相关的类的实例,委托方法已添加到该类中。 |
![]() |
Mark George · 如何在swift ui中为文本提供内部填充 1 年前 |
![]() |
Safa Ads · CDN:无法下载中继URL:https://cdn.jsdelivr.net/cocoa/Specs/2/e/c/RxSwift/3.0.0-rc.1/RxSwift.podspec.json响应:SSL连接错误 1 年前 |
![]() |
Frakcool · 满足条件时,SwiftUI动画背景颜色更改 2 年前 |