Gle*_*enn 0 uiviewcontroller ios uipageviewcontroller swift
在使用的教程中UIPageViewController,有这样的代码:
if self == parent.pages.first {
self.label_Back.isUserInteractionEnabled = false
}
Run Code Online (Sandbox Code Playgroud)
基本上检查哪个是否self是第一个控制器堆栈。这是如何运作的?
而且,如果我们有一个控制器类的多个实例中pages的阵列UIViewController,将做firstIndex类似下面工作的事情吗?
/**
Notifies '_tutorialDelegate' that the current page index was updated.
*/
private func notifyTutorialDelegateOfNewIndex() {
if let firstViewController = viewControllers?.first,
let index = self.pages.firstIndex(of: firstViewController) {
tutorialDelegate?.tutorialPageViewController(tutorialPageViewController: self, didUpdatePageIndex: index)
}
}
Run Code Online (Sandbox Code Playgroud)
if self == parent.pages.first
Run Code Online (Sandbox Code Playgroud)
这些是可可(Objective-C)对象-UIViewController,源于NSObject:
==在没有覆盖调用的情况下,在Objective-C对象上进行Swift 处理,该操作isEqual:继承自NSObject。
对于NSObject,在没有覆盖的情况下,isEqual:默认为对象标识。
因此,这就像Swift一样===,也就是说,在这些对象完全相同的视图控制器对象中,也是如此。
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |