私は銀行取引の一覧を表示しているテーブルビューを持っています。私がタップすると、現在のデータで初期化された編集ダイアログが表示されます。 amountField、nameField、および日付ピッカーが初期化されていないため、ナビゲーションコントローラを使用するとビューを初期化する方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
TransactionDetailViewController *transactionDetailViewController;
transactionDetailViewController = [[TransactionDetailViewController alloc] initWithNibName:@"TransactionDetailViewController" bundle:nil];
// round up data
NSMutableDictionary *rowDict = (NSMutableDictionary *)[transactions objectAtIndex:indexPath.row];
transactionDetailViewController.amountField.text = [rowDict objectForKey:@"amount"];
transactionDetailViewController.nameField.text = [rowDict objectForKey:@"name"];
transactionDetailViewController.datePicker.date = [rowDict objectForKey:@"date"];
[self.navigationController pushViewController:transactionDetailViewController animated:YES];
[transactionDetailViewController release];
}
残念ながら、これは動作しません:私は現在、コントローラを取得するには、そのビュー上のテキストフィールドを初期化するために、このような何かをやっていますこの時点では0x00です。その結果、テキストまたは日付の値を設定しようとすると、渡されます。それらはviewDidLoadが呼び出されるときに適切に初期化されます。親コントローラで選択した行を保存してから、詳細ビューからファイル所有者にコールバックする必要がありますか?または、実際に詳細ビューを初期化して、実際に作成する方法がありますか?
私はしばらくそれを彷彿とさせていましたが、それを行うにはきれいなやりかたに見えるオプション#2を考え出しました。方向をありがとう! –
ようこそ。 =) –