'=='如何与UIViewControllers一起使用?

时间:2019-11-27 04:00:35

标签: ios swift uiviewcontroller uipageviewcontroller

在使用UIPageViewController的教程中,有这样的代码:

if self == parent.pages.first {
    self.label_Back.isUserInteractionEnabled = false
}

基本上检查self是否是第一个控制器堆栈。如何运作?

而且,如果我们在pages的{​​{1}}数组中有一个控制器类的多个实例,是否会像下面那样进行UIViewController的工作?

firstIndex

1 个答案:

答案 0 :(得分:8)

if self == parent.pages.first

这些是可可(Objective-C)对象-UIViewController,源于NSObject:

    在没有覆盖调用==的情况下,Objective-C对象上的
  • Swift isEqual:(继承自NSObject)。

  • 对于NSObject,在没有覆盖的情况下,isEqual:默认为对象标识。

所以这就像Swift ===一样,也就是说,只要它们是相同的视图控制器对象,就可以做到这一点。