新しいアプリを作成していますが、アプリで 2 つのテーブルビューが必要です。1 つはリストを表示するためのもので、もう 1 つはユーザーがリストから選択したものを表示するためのものです。これまでのところ、アイテムを含む配列を作成し、ビューを相互に渡すことができました。他のテーブルビューに表示されている選択したアイテムを取得できないようです。
リストテーブルビューのコードを次に示します (「完了」がプッシュされるとデータが渡されます)。viewC は他のビューのインスタンスであり、それにアクセスするために使用されます。
-(IBAction)dismissValgScene {
for (int i = 0; i < ValgteMedierarray.count; i++) {
NSLog(@"%@", [ValgteMedierarray objectAtIndex:i]);
}
viewC.TilvalgteMedierArray = [NSMutableArray arrayWithArray:ValgteMedierarray];
NSLog(@"1: antal i tilvalgteArray = %lu", (unsigned long)viewC.TilvalgteMedierArray.count);
[viewC.tableView reloadData];
NSLog(@"2: antal i tilvalgteArray = %lu", (unsigned long)viewC.TilvalgteMedierArray.count);
[self dismissViewControllerAnimated:YES completion:nil];
}
これは、選択した項目を別のビューの配列に追加する [完了] ボタンのメソッドです。(それは viewC.TilvalgteMediaArray です)
選択したアイテムを表示する必要がある他のビューのコードを次に示します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [TilvalgteMedierArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
// Configure the cell...
cell.textLabel.text = [TilvalgteMedierArray objectAtIndex:indexPath.row];
return cell;
}
みなさんが助けてくれることを願っています.
(これが他の場所で回答されている場合はお詫びしますが、解決策が見つからないまま何時間も探していました)。
編集:
私を助けようとしてくれたすべての人に感謝します。:)
Unwind Segue メソッドを使用して解決策を見つけました。同様の問題を抱えている人は誰でも、次のリンクを見ることができます。
アンワインド セグエの作成方法: アンワインド セグエ とは何ですか? また、どのように使用しますか?
アンワインド セグエでデータを渡す方法: iOS 6 - セグエをアンワインドするときにデータを返すことはできますか?