这让我困惑不已。
说你这样做:
[self.view addSubview: someController.view];
someController 如何知道它的视图正在加载并调用 viewDidAppear 等?
我们传递的是视图而不是控制器。然而 someController 知道。
如果 self.view 本身不在窗口的视图层次结构中,也会发生什么。someController的viewWillAppear等会被调用吗?
实现这一点的一种方法是让视图有一个指向控制器的弱指针,比如它的委托,然后检查视图本身是否是窗口对象的后代。
这是它实际实施的方式吗?如果没有,它实际上是如何完成的?即使不是,认为它是这样实现的是否正确?
我关心的是:我很好奇,因为我想了解这个 viewWillAppear 是如何出现的。几个月我玩 IOS 打电话给那些明确不知道为什么被调用或不被调用的人。有大量帖子抱怨 viewWillAppear/Disapear 被调用或未被调用。有些人被叫了两次。我想确切地知道它是如何以及何时被调用的。我越来越擅长它,但还没有完全做到。