-3

iOs是怎么知道的?

每个视图是否都有指向其控制器的指针?

发生了什么?

当我们从导航中弹出一个 viewController 时,navigationController 是否安排了应该调用哪个视图?

例如:

如果我添加:

 [[BNUtilitiesQuick window] addSubview:[BNUtilitiesQuick searchController].view];

viewWillAppear 将被调用。

即使在问题的情况下,ios 也知道应该调用哪个 viewControler viewwillappear。如果没有从视图到视图控制器的指针,我无法想象他们是如何知道的。

但是,window 不知道 viewController。我正在通过控制器的视图出口而不是控制器。iOs 5 怎么知道它必须调用 [[BNUtilitiesQuick searchController] viewWillAppear:YES]

4

1 回答 1

1

Navigation Controller 维护着一堆视图控制器。

一旦一个视图控制器被弹出,它就会从堆栈中移除,现在正好在它下面的视图控制器是第一个视图控制器。这就是它的工作原理。

您可以查看文档以获取更多详细信息 - http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007457

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/NavigationControllers.html#//apple_ref/doc/uid/TP40011313-CH2

于 2012-06-26T08:45:34.697 回答