在IOS中的视图控制器之间传递数据

时间:2013-07-08 22:03:59

标签: ios objective-c cocoa-touch view controller

我目前有一个充满数据的表视图控制器。

此表视图控制器指向显示视图控制器,该控制器显示包含所选数据的信息。

我使用了prepareForSegue将所选数据发送到下一个视图控制器。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([[segue identifier] isEqualToString:@"showInfo"]) {


        NSManagedObject *selectedData = [self.datas objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
        DisplayInfoViewController *destViewController = segue.destinationViewController;
        destViewController.data = selectedData;
    }
}

我的问题是,现在我在该视图控制器之后添加了另一个视图控制器(显示更多信息视图控制器)。

tableVC> DisplayVC> DisplayMoreInfoVC

我在将相同的选定数据传递到下一个视图控制器时遇到问题,因为我的第一个prepareForSegue从表格的选定行中获取所选数据,而我无法在DisplayVC中访问该数据。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

为什么要在dispayVC中查询数据库您是否将从tableVC收到的相同数据传递给DisplayMoreInfoViewController?如果是,那么你可以做到

 DisplayMoreInfoViewController *destViewController = segue.destinationViewController;
 destViewController.data = self.data

如果不同,exlplain有点咬一点

[self.database getdatapassedpreviously];