我的理解是 UICollectionViewDataSourcePrefetching 是为 UICollectionViewDataSource 构建的,而 UICollectionViewDiffableDataSource 似乎没有任何有关预取的文档。
在我看到覆盖viewWillAppear(_ animated:Bool)的例子中,我对调用super函数传递的参数感到困惑:
super.viewWillAppear(animated)
Run Code Online (Sandbox Code Playgroud)
我认为"动画"是一个设置为true的Bool,但这个Bool来自哪里?它没有在我的UIViewController的其他地方声明,它不是UIViewController的属性.
我对UIControlState的运行方式感到有些困惑.具体来说,如果我看下面的例子:
sender.setTitle("NewTitle", for: UIControlState.normal)
Run Code Online (Sandbox Code Playgroud)
据我所知,这为Button的(发件人)正常状态设置了标题.我原以为.normal是UIControlState类型的Enum值,但是后来才知道它是一个带常量的结构.第一个问题:
其次,当我查看UIStateControl的文档时,我看到的只是"常量"的定义,例如:
static var normal: UIControlState
Run Code Online (Sandbox Code Playgroud)
第二/第三个问题:
为什么UIStateControl的"常量"用"var"定义而不是"let?"
UIControlState的静态属性如何定义为"UIControlState"类型?这不是递归的吗?