【发布时间】:2012-12-13 21:54:47
【问题描述】:
在我目前正在处理的应用程序中,有一种情况是我有 2 个屏幕用于显示一组数据:一个是列表,一个是地图。每个屏幕都有自己的视图控制器。默认屏幕是列表视图,因此首先加载视图控制器。但是另一个地图屏幕视图控制器也被加载和设置(因为它封装了列表屏幕视图控制器使用的一些与地理地图相关的数据),即使地图屏幕尚不可见。
但是,我不希望在用户切换到该屏幕之前加载和初始化地图屏幕视图控制器的 nib 和视图。
在地图屏幕视图控制器中覆盖view 属性访问器(如下面的代码)并延迟加载/实例化笔尖有什么问题吗? (在地图屏幕即将显示之前,view 属性不会被访问,就在地图屏幕视图控制器的 viewDidLoad 方法被调用之前。)我已经测试过这很好用,但我从未见过它这样做。
- (UIView *)view {
if (!_view) {
UINib *nib = [UINib nibWithNibName:@"MyNibName" bundle:nil];
[nib instantiateWithOwner:self options:nil];
}
return _view;
}
【问题讨论】:
标签: objective-c ios uiviewcontroller nib