Ben*_*ieb 15 iphone cocoa-touch objective-c
当访问UIViewController的view属性时,它首先检查它是否有现有视图,然后返回.如果没有,它会加载其nib或调用-loadView.
当控制器收到-didReceiveMemoryWarning消息时,默认行为是删除该缓存视图(假设它当时未使用).
如果我覆盖-didReceiveMemoryWarning,如何确定视图是否已被清除?我的理解是默认实现检查self.view.superview == nil.如果是这样,它将清除缓存的视图.当然,它首先检查,看看是否有是一个缓存的视图,如果没有,它什么都不做.但是,作为子类,我不能调用self.view.superview,因为如果没有视图,它将生成一个.
那么,我如何判断_view是否存在?(我不能只看_view;我在为设备构建时遇到链接错误).
我认为在你的情况下最好做这样的事情:
- (void)setView:(UIView *)view
{
if (!view)
{
// Clean up code here
}
[super setView:view];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11173 次 |
| 最近记录: |