这是问题,我正在尝试制作一个应用程序,在同一个TableView中接收不同数据的更新(比如说facebook),但这不是问题。所有数据都具有相同的格式,就是当你点击一行我要打开相应的视图时,我可以识别出正确的视图来显示。我尝试使用以下内容。
NavigationController.PushViewController(DestinationViewController,false);
当它被触发时,我在故事板上为DestinationViewController创建的对象看起来是null,并且所有“粘合”代码都在ViewDidLoad或ViewWillAppears上(它应该实例化每个对象)
我正在使用Tab Bar导航模型。
PS:如果我使用该应用程序并进入我的DestinationViewController它就可以了。
那么谁知道一种方法或有这样的事情的例子,或者什么东西让我靠近我想去的地方?
答案 0 :(得分:1)
如果您使用
NavigationController.PushViewController (DestinationViewController, false);
我认为你需要在使用
之前分配视图控制器DestinationVC *vc = [DestinationVC alloc] init];
如果我错了,请纠正我。
此外,如果您正在使用故事板并将控件拖动到不同的视图,则应使用方法
[self.navigationController performSegueWithIdentifier:@"" sender:self];
然后你可以使用prepareForSegue方法。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"whatYouNamedItInTheStoryboard"]) {
// do stuff for this segue
} else if ([segue identifier] isEqual.......) {
}
}
希望这有助于解决您的问题。 您可能想要发布故事板的图像。
答案 1 :(得分:0)
我解决这个问题有点像迈克尔和保罗,说。
在ViewController上声明一个公共属性。
然后将当前的ViewController传递给表源,在RowSelected方法上,我将所选的值放在viewController的公共属性上
在PrepareForSegue方法中,我检查它是哪种类型的数据,这样我就可以在segue.DestinationViewController上分配适当的segue并传递数据。
我不知道这是否是最好的方法,但它运作良好。