IOS SplitViewController详细信息视图的数据为空/未加载,但视图为

时间:2013-07-25 10:06:04

标签: ios uisplitviewcontroller detailview

这可能很简单,在那种情况下抱歉。

我正在向我的应用添加SplitViewController。一切正常,除了在detailView中加载的View;它确实加载(控件等),但数据保持“空白”,就像它没有从数据库中获取数据一样。

但它是,视图本身对它负责,并且当我不将它插入detailViewController时它可以工作!

检查出来:

//this is my data and my ViewController
Medication* med = self.medications[indexPath.row]; 
MedicationViewController* viewController = [[MedicationViewController alloc] initWithMedication:med isNew:NO];

//1. this *doesn't work*, the detail panel get replaced, but the data from "med" never appears
self.detailViewController = viewController;

//2. but if I do this, everything works fine.
[self presentViewController:viewController animated:YES completion:nil];

我的猜测是,我的替代品(1.)做错了。 任何意见 ?我错过了“刷新”,“重新加载”功能吗?

1 个答案:

答案 0 :(得分:1)

最后,我通过这样做得到了它:

UINavigationController* detailNavController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
self.splitViewController.viewControllers = @[self.splitViewController.viewControllers[0], detailNavController];

不是只更改一个控制器,而是更改整个数组,但保持对主控的相同引用。效果很好!