在awakeFromNib中设置委托

时间:2011-10-04 18:32:21

标签: iphone ios delegates viewdidload awakefromnib

我在Interface Builder中有一个嵌入了TableViewController的ViewController(我在其他地方重用了TableViewController的功能)。我需要在TabelViewController中设置一个委托给它嵌入的UIViewController,以便我可以使用UIViewController的NavigationController(点击嵌入式TableViewController中的行,新的ViewController出现....)。

我有一个委托让这一切都工作,我唯一的问题是在哪里设置委托。我已经读过,一旦读入nib并且所有IBOutlet都已设置(嵌入式TableViewController是IBOutlet),就会调用awakeFromNib。我可以单步执行代码,看到在应用程序首次启动时调用此函数。但是,当我稍后调用委托时(单击一行时),委托为null。如果我在viewDidLoad中设置代理,一切都很有效。

为什么awakeFromNib无法正常工作?我应该在viewDidLoad中这样做吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在此处详细了解您的awakeFromNib方法无法正常工作的原因:Why won't my awakeFromNib fire?

viewDidLoad方法是设置UITableViewDelegate在其他方法中设置它没有实际好处的理想场所。