私は目的のcおよびios開発にまったく慣れていません。ストーリーボードの新しいシーンに移動しようとしているだけで、移動時にUIlabelのテキストを何かに変更しています。
この設定方法は、ビュー コントローラーとテーブルビュー コントローラーがあり、それぞれに独自のヘッダー ファイルと実装ファイルがあります。ビューコントローラーのボタンからセグエを使用して、テーブルビューに移動しています。
このスタック オーバーフローの投稿 (ストーリーボード セグエ間で情報を渡すにはどうすればよいですか? ) を読みました。セグエで値を渡す方法を説明し、そのように実装しました。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSLog(@"prepareForSegue: %@", segue.identifier);
if([segue.identifier isEqualToString:@"navtotablebut"])
{
TableViewController *testcontroller = segue.destinationViewController;
testcontroller.testpass.text = @"Testing123";
NSLog(@"%@",[NSString stringWithFormat:@"testpass has been changed to %@", testcontroller.testpass.text]);
}
}
ログは、このセグエ メソッドが呼び出されることを確認し、指定した ID (navtotablebut) を正しく識別できることを確認します。次に、テーブルビュー コントローラーの UIlabel のテキスト プロパティの値を単純な文字列 "Testing123" に設定しようとしました。ただし、この変更は新しい画面に反映されないだけでなく、その後の print ステートメントは testcontroller.testpass.text が (null) と等しいと考えているようです。
ここで何かひどく間違ったことをしていますか?