我在Interface Builder中有一个嵌入了TableViewController的ViewController(我在其他地方重用了TableViewController的功能)。我需要在TabelViewController中设置一个委托给它嵌入的UIViewController,以便我可以使用UIViewController的NavigationController(点击嵌入式TableViewController中的行,新的ViewController出现....)。
我有一个委托让这一切都工作,我唯一的问题是在哪里设置委托。我已经读过,一旦读入nib并且所有IBOutlet都已设置(嵌入式TableViewController是IBOutlet),就会调用awakeFromNib
。我可以单步执行代码,看到在应用程序首次启动时调用此函数。但是,当我稍后调用委托时(单击一行时),委托为null
。如果我在viewDidLoad
中设置代理,一切都很有效。
为什么awakeFromNib无法正常工作?我应该在viewDidLoad中这样做吗?
谢谢!
答案 0 :(得分:0)
您可以在此处详细了解您的awakeFromNib方法无法正常工作的原因:Why won't my awakeFromNib fire?
viewDidLoad方法是设置UITableViewDelegate在其他方法中设置它没有实际好处的理想场所。