代码之家  ›  专栏  ›  技术社区  ›  Ben Gottlieb

确定UIViewController已加载且具有有效视图的最佳方法?

  •  15
  • Ben Gottlieb  · 技术社区  · 17 年前

    当访问UIViewController的view属性时,它首先检查是否具有现有视图,然后返回该视图。如果没有,则加载其nib或调用-loadView。

    如果我覆盖-didReceiveMemoryWarning,如何确定视图是否已清除?我的理解是,默认实现检查self.view.superview==nil。如果是这样,它将清除缓存的视图。当然,它首先检查是否有 是 一个缓存的视图,如果不是,它什么也不做。但是,作为一个子类,我不能调用self.view.superview,因为如果有 不是吗 一个视图,它将生成一个。

    3 回复  |  直到 17 年前
        1
  •  67
  •   Zargony    13 年前

    由于iPhone OS 3.0,您可以使用 isViewLoaded

        2
  •  3
  •   Mike Abdullah    17 年前

    - (void)setView:(UIView *)view
    {
        if (!view)
        {
             // Clean up code here
        }
    
        [super setView:view];
    }
    
        3
  •  0
  •   Iulian Onofrei Denis Oliveira    9 年前

    你可以用 object_getIvar()