我有一个简单的测试项目。嵌入在故事板导航控制器中的 UITableViewController (MasterViewController)。我没有使用 prepareForSegue 将数据传递给另一个视图控制器(DetailViewController)。相反,didSelectRowAtIndexPath 用于更新 detailviewcontroller 中的标签,如下所示:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
NSMutableString *object = thisArray[indexPath.row];
detailViewController.passedData = object;
[self.navigationController pushViewController:detailViewController animated:YES];
}
到目前为止一切正常。
现在我在我的故事板中添加了另一个视图控制器。使其成为初始视图控制器,在其中添加了两个容器,然后将 MasterViewController 和 DetailViewContainer 都嵌入到这些容器中。
现在不是在右侧显示 DetailViewController 中传递的数据,而是通过替换控制器视图在左侧显示传递的数据。
如果我无法澄清我想说的话,这里是项目的链接https://jumpshare.com/v/UiTFEB6AamIo8qX9sinW,它只是为了学习目的。
谢谢