我一直在这里浏览一些答案,并得到两个不同的建议:

  • 添加init。 Example in this answer
  • 添加ViewDidLoadSuggested in this answer

  • 当前的最佳做法是哪一种?第二个答案似乎比较老(2010年),所以我想知道这是否是一种古老的,不再被建议的做法?

    最佳答案

    对于非基于XIB的视图控制器,正确的位置在 -loadView 中。 -loadView负责初始化视图控制器的view属性,包括所有子视图。系统将在适当的时间调用此方法。您必须在此方法内为视图控制器的view属性分配一些内容:

     - (void)loadView
    {
        UIView *view = ...;
        // create additional views here
    
        self.view = view;
    }
    

    如果您有基于XIB的视图控制器,则文档说不要覆盖-loadView。在这种情况下,您应该在-viewDidLoad中进行其他视图初始化工作。

    关于iphone - 我应该以编程方式在init或ViewDidLoad中添加 subview 吗?为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18634738/

    10-10 20:43