テーブル ビューの行を選択すると、テーブル ビューから単純なビューに移動するプログラムを作成しました。また、単純なビューに 4 つのチェックボックスを作成しました。簡単にマークできます。次に、マークされたチェック ボックスに対応する情報を保存します。文字列で.そして、テーブルビューでこの文字列にアクセスして、セルに表示したい.オブジェクトを使用して取得していません
3 に答える
これにはカスタムデリゲートを使用できます。2番目のクラスでデリゲートを作成します。再び1番目のクラスに来ると、デリゲートメソッドが自動的に呼び出されます。最初のクラスでデリゲートを実装することを忘れないでください。
これを行う一般的な方法の 1 つは、tableview コントローラーへの参照を単純な (詳細) ビュー コントローラーのプロパティに格納することです。シンプルなView Controllerをインスタンス化してナビゲーションスタックにプッシュするときに、このプロパティの値を設定します。チェックボックスがマークされたら、テーブルビューに戻る前に、文字列をテーブルビュー コントローラーのプロパティに保存します。
おおよそ、コードは次のようになります。
テーブル ビュー コントローラー .h で:
@property (strong, nonatomic) NSString *checkBoxValue;
テーブル ビュー コントローラー .m で:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SimpleViewController *simpleVC = [[SimpleViewController alloc] init];
simpleVC.tableViewController = self;
[self.navigationController pushViewController:simpleVC animated:YES];
}
シンプルなView Controller .hで:
@property (strong, nonatomic) YourTableViewController *tableViewController;
シンプルなView Controller .mで:
// after checkboxes are selected...
self.tableViewController.checkBoxValue = @"Value goes here";
次に、テーブル ビュー コントローラーに戻ると、checkboxValue
プロパティの値を使用して必要なことを行うことができます。
デリゲート メソッドを使用する必要があります。このシナリオでは、Objective-C で一般的に使用されるパターンです。このSOの例で答えました。後でまだ質問がある場合はお知らせください。