在使用UIPageViewController
的教程中,有这样的代码:
if self == parent.pages.first {
self.label_Back.isUserInteractionEnabled = false
}
基本上检查self
是否是第一个控制器堆栈。如何运作?
而且,如果我们在pages
的{{1}}数组中有一个控制器类的多个实例,是否会像下面那样进行UIViewController
的工作?
firstIndex
答案 0 :(得分:8)
if self == parent.pages.first
这些是可可(Objective-C)对象-UIViewController,源于NSObject:
==
的情况下,Objective-C对象上的 Swift isEqual:
(继承自NSObject)。
对于NSObject,在没有覆盖的情况下,isEqual:
默认为对象标识。
所以这就像Swift ===
一样,也就是说,只要它们是相同的视图控制器对象,就可以做到这一点。