的UITableViewController负载空视图,但后来加载正确第二负载
问题描述:
后我有一个UITableViewController
其在它的tableView:didSelectRowAtIndexPath
方法,建立了一个视图控制器,并调用的UITableViewController负载空视图,但后来加载正确第二负载
[self.navigationController pushViewController: viewController animated:YES]
。
当我在根控制器中选择一行时,第二个viewController加载但是为空 - 表视图加载但没有数据。这里没有调用tableView:numberOfRowsInSection
。
当我回到顶层,然后再次选择相同的行,视图加载正确 - 调用方法。
为什么表视图不会在第一次尝试时调用委托方法,而是在第二次调用它们?
我是否缺少明显的东西?
感谢
答
通过使用initWithNibName
而不是initWithStyle
解决 - 知道这将是明显的。
谢谢
答
当你说:
当我选择在根 控制器,第二的viewController 负载一行但该行是空的。
您的意思是说,该视图存在,但不包含任何数据,或者您的意思是表消失将被空白/空视图取代?
如果是前者,则需要确保第二级视图控制器在将数据推入堆栈之前能够正确访问数据,以便可以填充其视图。
如果是后者,它听起来像你的第二级视图控制器第一次被调用时没有正确初始化它的视图。如果您使用笔尖,请在Interface Builder中检查控制器是否有指向视图的插座。如果以编程方式创建视图,请检查视图是否在调用显示之前正确初始化。
更清晰的“第二个viewController加载,但是是空的”将有所帮助。你什么意思是空的? – TechZen 2009-12-03 21:30:00