相关疑难解决方法(0)

viewDidLoad和awakeFromNib时序

据我所知,awakeFromNib将始终在viewDidLoad之前调用.

所以我有一个UITableViewController的子类,它是从xib文件中取消归档的.

我在里面定义了这两个方法:

- (void)awakeFromNib {
  [super awakeFromNib];
  NSLog(@"awake from nib");
}

- (void)viewDidLoad {
  [super viewDidLoad];
  NSLog(@"view did load");
}
Run Code Online (Sandbox Code Playgroud)

会发生什么是"视图确实加载"出现在控制台中"从笔尖唤醒"之前.我试图在[超级awakeFromNib]上使用断点,并反复点击F7(Step Into),令我惊讶的是,它进入 - (void)viewDidLoad之前进入awakeFromNib内的第二行.

有谁知道这里发生了什么?我在常规UIViewController的子类中做了完全相同的事情,并且日志语句被反转,正如我最初期望的那样......

iphone uitableview viewdidload ipad awakefromnib

10
推荐指数
3
解决办法
2万
查看次数

awakeFromNib的好处?

我一直在学习coredata,通过制作许多基于xcode Navigation控制器模板的简单测试应用程序并选中"使用coredata".

App委托中的awakeFromNib方法一直是我的问题来源,因为我正在向控制器添加其他视图并更改加载顺序,因此RootViewController可能是第二个或第三个选择.

我已经弄清楚awakeFromNib正在做什么,我已经删除了它,因此app委托不再绑定到任何特定的视图.(所以当我想加载RootViewController时,我会将其作为常规视图加载,并使用自己的viewDidLoad为视图初始化managedObjectContext).

我的问题:在AppDelegate中使用awakeFromNIb是否有性能提升或其他好处?或者它只是我从viewDidLoad方法做同样的事情的另一种方式?

delegates views ios awakefromnib

7
推荐指数
1
解决办法
4364
查看次数

Objective-C iOS开发在设置变量时使用viewDidLoad或initWithCoder以及为什么?

所以看起来我应该设置我的成员变量viewDidLoad- 但我很困惑为什么设置这些变量initWithCoder失败,因为两者都在程序的开头被调用.

特别是我有一行代码:

[worldView setMapType:MKMapTypeSatellite];
Run Code Online (Sandbox Code Playgroud)

其中worldView是一个IBOutlet MKMapView对象.它工作viewDidLoad,但不是initWithCoder.

iphone objective-c iboutlet ios initwithcoder

3
推荐指数
1
解决办法
894
查看次数