簡単なテストプロジェクトがあります。ストーリーボードのナビゲーション コントローラー内に埋め込まれた 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];
}
この時点までのすべてが正常に機能します。
これで、ストーリーボードに別のビュー コントローラーを追加しました。これを最初のビュー コントローラーにして、2 つのコンテナーを追加し、これらのコンテナーに MasterViewController と DetailViewContainer の両方を埋め込みました。
右側の DetailViewController 内に渡されたデータを表示する代わりに、コントローラー ビューを置き換えることで、渡されたデータを左側に表示します。
私が言おうとしていることを明確にできない場合は、ここにプロジェクトへのリンクがあります https://jumpshare.com/v/UiTFEB6AamIo8qX9sinW、学習目的のためだけです。
ありがとう