0

UITableView を含む View Controller を作成しました。セルをタップすると、ユーザーは次の方法でオプションのテーブル ビューを含む別のビューに移動します。

[self.navigationController pushViewController:optionsView animated:YES];

このビューでは、セルをタップするとユーザーが前のビューに移動できるようにしたいと考えています。だから私は使用します:

[self.navigationController popViewControllerAnimated:YES];

これは完璧に機能します。しかし、選択したセルのインデックスを保持する方法がわかりません。何かアドバイス ?

どうもありがとう

4

3 に答える 3

1

デリゲート メソッドを使用する必要があります。Objective-C で一般的に使用されるパターンです。この投稿からの回答例があります。後ではっきりしない場合はお知らせください。

于 2012-05-26T15:35:43.020 に答える
1

クラスでdelegateプロパティを定義し、コントローラーをプッシュする前にそれを設定することにより、最初のビュー コントローラーを 2 番目のビュー コントローラーのデリゲートにすることができます。次に、コントローラーをポップする前に、必要な情報をデリゲート参照を介して最初のコントローラーに送り返すことができます。optionsViewself

于 2012-05-26T13:11:25.913 に答える
1

したがって、親ビュー コントローラーで、クラス メンバーを宣言します。NSIndexPath *_selectedIndexPath;

メソッドではdidSelectRowAtIndexPath、子ビュー コントローラーをプッシュする前に、次のようにします。

if( _selectedIndexPath )
   [_selectedIndexPath release];

_selectedIndexPath = [indexPath retain];

そのため、戻ってきた後でも、 から値を取得できます_selectedIndexPath

于 2012-05-26T13:11:51.490 に答える