ストーリーボードのコアデータプログラムで、2 つのビューコントローラー間で文字列を渡そうとしています。私が設定した方法では、次のビューを 1 つのセクションのみにプッシュする必要があります。したがって、「prepareForSegue」ではなく「didSelectRowAtIndexPath」を使用します。以下は、「didSelectRow…」のコードです。「5」は、プッシュされるviewControllerクラスです。
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
five *five=[[five alloc]init];
five.delegate = self;
[self performSegueWithIdentifier:@"segue1" sender:self];
}
}
「2」は親ビューです。以下は、「five」クラスで作成されたプロトコルで使用されるメソッドです。「friendString」は「two」クラスにあり、「fiveString」は「five」クラスにあります。ビューがポップされると、文字列は同じである必要があり、「2」の UITextField で「5」に追加された文字列を使用します。ただし、ビューがポップされても更新されません。
- (void)popFive:(five *)controller
{
self.friendString=controller.fiveString;
[self update];
[self.tableView reloadData];
}
この問題は、「didSelectRow…」でシークがどのように行われるかに関連していると思います。ヘルプやアイデアをいただければ幸いです。ありがとう。