UIViewController
保存ボタン付きです。クリックすると、. にある配列に文字列が追加されますUITableViewController
。テーブルビューに移動するセグエがあり、配列内の新しいオブジェクトをテーブルの行として表示したい。
ビューコントローラーからデータを取得して、テーブルビューコントローラーに表示するにはどうすればよいですか?
私がやっていることはうまくいきません。
UIViewController:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"showFindTable"])
{
FindTableViewController *findTableVC = [segue destinationViewController];
findTableVC.titles addObject:titleField.text];
[findTableVC.tableView reloadData];
}
}
UITableViewController:
- (void)viewDidLoad
{
[super viewDidLoad];
self.titles = [[NSMutableArray alloc] init];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"FindCell";
FindTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.title.text = [self.titles objectAtIndex:[indexPath row]];
return cell;
}
テーブル ビュー コントローラー内で、配列を初期化します。viewDidLoad
オブジェクトを追加すると、呼び出されたときに空の配列に戻りますか? 最終的には Core Data を使用してデータを永続化する予定です。それで、これが問題であれば、それで解決すると思います。それまでは、どうすればそれを機能させることができますか?
タイトル配列を 1 つの文字列で初期化しようとしました。その文字列が表示されます。テーブルビューがロードされるたびに配列を再初期化しているため、それはそのように見えます。どこで配列を初期化する必要がありますか?