Iphone 演示ViewController

Iphone 演示ViewController,iphone,uiviewcontroller,Iphone,Uiviewcontroller,呈现ViewController是否会导致呈现的控制器运行其viewDidLoad方法 如果加载一个视图1并显示另一个视图。然后会触发一些事件来显示view1。它将通过viewDidLoad方法运行吗 如果没有,应该怎么做?viewDidLoad出现?只有当视图加载到内存中时才会调用viewDidLoad。通常是第一次出现(如果存在内存转储等情况,可能会更频繁) ViewDidDisplay:每次viewController的视图成为窗口中的“活动”视图时都会调用。只有当视图加载到内存中时才会调

呈现ViewController是否会导致呈现的控制器运行其viewDidLoad方法

如果加载一个视图1并显示另一个视图。然后会触发一些事件来显示view1。它将通过viewDidLoad方法运行吗


如果没有,应该怎么做?viewDidLoad出现?

只有当视图加载到内存中时才会调用viewDidLoad。通常是第一次出现(如果存在内存转储等情况,可能会更频繁)


ViewDidDisplay:每次viewController的视图成为窗口中的“活动”视图时都会调用。只有当视图加载到内存中时才会调用viewDidLoad。通常是第一次出现(如果存在内存转储等情况,可能会更频繁)


ViewDidDisplay:每次viewController的视图成为窗口中的“活动”视图时都会调用它。

基于Jesse转发的内容,当视图加载到内存中时会调用
viewDidLoad
(通常是自应用程序启动以来首次显示视图控制器-简化,但现在就足够了)

当您显示其他视图控制器,然后返回如何使用此原始“view1”视图控制器时,除非有内存事件将其从内存中丢弃,否则它将不会再次调用
viewDidLoad

相反,它将按顺序调用以下命令:

  • 视图将出现:
  • viewdide出现:
  • 视图中将出现:
    ,在显示视图控制器之前,您可以在“屏幕外”进行操作

    视图显示:
    中,您可以执行适用于视图控制器的视图已可见时的其他操作。例如,您希望运行一些小动画,以便在视图控制器完全可见时用户将看到这些动画

    在这两种方法中,确保在执行任何操作之前调用super的实现。此外,要了解此生命周期,请在每种方法(viewDidLoad、ViewWillDisplay、ViewDidDisplay)中设置断点或NSLog()语句,以查看何时调用它们

    关于视图控制器的Apple文档中有一个概念片段值得花20分钟阅读——它将澄清许多关于视图控制器的关键生命周期信息,这些信息是iOS开发的核心。请参阅“了解视图管理生命周期”一节,网址为:


    基于Jesse转发的内容,当视图加载到内存中时会调用
    viewDidLoad
    (通常是自应用程序启动以来首次显示视图控制器-简化,但现在就足够了)

    当您显示其他视图控制器,然后返回如何使用此原始“view1”视图控制器时,除非有内存事件将其从内存中丢弃,否则它将不会再次调用
    viewDidLoad

    相反,它将按顺序调用以下命令:

  • 视图将出现:
  • viewdide出现:
  • 视图中将出现:
    ,在显示视图控制器之前,您可以在“屏幕外”进行操作

    视图显示:
    中,您可以执行适用于视图控制器的视图已可见时的其他操作。例如,您希望运行一些小动画,以便在视图控制器完全可见时用户将看到这些动画

    在这两种方法中,确保在执行任何操作之前调用super的实现。此外,要了解此生命周期,请在每种方法(viewDidLoad、ViewWillDisplay、ViewDidDisplay)中设置断点或NSLog()语句,以查看何时调用它们

    关于视图控制器的Apple文档中有一个概念片段值得花20分钟阅读——它将澄清许多关于视图控制器的关键生命周期信息,这些信息是iOS开发的核心。请参阅“了解视图管理生命周期”一节,网址为:


    问题是,我创建了一个新的viewController实例并将其呈现出来。view1的一个新实例经常会重复使用同一个view controller实例,因此我上面的评论在这个意义上是正确的。在您的例子中,如果您正在实例化一个新对象(“view1”)在你的应用程序中的不同点上,我希望每个新的实例化都会触发对“viewDidLoad”的点击。我会输入一些属性变量,如“name”,你可以在每次实例化其中一个时设置它。这样做。然后在viewDidLoad中,吐出类似于:NSLog(@“在viewDidLoad中,例如名称:%@”,self.name);研究此日志输出序列将向您展示一个可用于计划的确定模式。问题是,我创建了viewController的新实例并将其呈现。view1的新实例经常会重复使用同一个view controller实例,因此我上面的注释在这一意义上适用。在您的情况下,如果您正在实例化一个新对象(“view1”))在你的应用程序中的不同点上,我希望每个新的实例化都会触发对“viewDidLoad”的点击。我会输入一些属性变量,如“name”,你可以在每次实例化其中一个时设置它。这样做。然后在viewDidLoad中,吐出类似于:NSLog(@“在viewDidLoad中,例如名称:%@”,self.name);研究此日志输出序列将向您展示您可以计划的最终模式。