私のセットアップでは、ログインを作成するストーリーボードを使用してから、ユーザーがボタンを押してメッセージを表示できるホーム画面を使用しています。
これらは、プログラムでインスタンス化されたテーブルに表示されます。
このテーブルから、行を押してその行の詳細を表示したいのですが、これを行うと、表示されるビューは空白になりますが、クラスに関連付けられているすべてのメソッドが起動されています (ビューはロードされました)。
私は文字通り、他の人が質問に対して提案したさまざまな解決策から10の異なる方法を試しましたが、何もうまくいきません.
新しいビューを作成してプッシュするコード:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
messageDetail *messageDetailView = [[messageDetail alloc]initWithNibName:nil bundle:nil];
messageDetailView.message = [entityObjects objectAtIndex:indexPath.row];
[self.navigationController pushViewController:messageDetailView animated:YES];
}
DetailView の ViewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"Message Detail:\n%@",message);
messageTitle.text = message.message_title;
messageBody.text = message.message_xml;
}
segueIdentifier ルートを使用してから prepareSegue: をインターセプトして新しいビューにデータを追加しようとしましたが、プログラムで tableView が作成されるため、セグエはありません。
次の方法でストーリーボードからビューをインスタンス化しようとしました:
messageDetailView = [self.storyboard instantiateViewControllerWithIdentifier:@"MDV"];
しかし、識別子を設定しても、識別子を持つビューがないため、アプリがクラッシュします。