代码之家  ›  专栏  ›  技术社区  ›  ma11hew28

什么时候调用viewDidLoad?

  •  6
  • ma11hew28  · 技术社区  · 14 年前

    假设一个属性,即 fetchedResultsController chatViewController ,的子类的实例 UITableViewController ,总是 nil viewDidLoad 如果设置为 在里面 viewDidUnload ? 呸!

    如果是这样的话,那么我认为没有必要像在Xcode示例应用程序CoreDataBooks中那样立即重新定义访问器函数。我宁愿把所有的代码都放进去 视图加载 而不是在一个单独的函数中,因为那是我唯一使用它的地方。

    4 回复  |  直到 14 年前
        1
  •  3
  •   shim    6 年前

    视图加载后调用viewDidLoad。fetchedResultsController是否为nil取决于viewController的初始化方式。例如,在创建 detailViewController ,你可以设置它 fetchedViewController 之前 viewDidLoad 被称为:

    RecipeDetailViewController *detailViewController = [[RecipeDetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
    detailViewController.fetchedResultsController = fetchedResultsController;
    
    [self.navigationController pushViewController:detailViewController animated:animated];
    [detailViewController release];
    

    也就是说,在viewDidUnload中使用nil'ing fetchedResultsController可以确保它是nil。

        2
  •  3
  •   Atal Singh    9 年前

    ViewDidLoad在这些Secnarion中调用:-

    1.当我们通过segue或stoary board id创建视图控制器的对象后按下它时。

    2.如果在应用程序中创建实例的时间更长,它会调用多个实例,并一次又一次地推送它。例如:-如果您实现了像coaursal(滚动期间需要附加控制器)那样的需求,那么它可以调用多次viewDidLoad。

    4.记住只创建了子类控制器对象..父类对象在正常隔离期间从未被实例化。

        3
  •  2
  •   Aaron Saunders    14 年前

    您必须假设可以多次调用viewDidLoad。如果发送了内存警告,则视图控制器将从内存中卸载视图,并在下次需要视图时调用viewDidLoad。

        4
  •  0
  •   Ash    8 年前

    viewDidLoad 仅当第一次实例化视图时才调用。如果不是每次在应用程序中重新创建视图控制器,则只能调用一次(如果收到内存警告,并且视图为空,则再次调用)。