0

みなさん、こんにちは。お時間をいただきありがとうございます。選択したすべてのセルデータのリストを作成し、それを配列に書き込んでから.plistに書き込む方法を知りたいです。

選択したセルから「*selecedArray」オブジェクトに追加し続けたいだけです。

データを「NSLog」すると、以下の現在のコードは、最後の選択を上書きしたことを示しています。したがって、最後に選択されたセルになります。それが理にかなっていることを願っています。

ありがとうAhab。

NSMutableArray *selectedArray = [[NSMutableArray alloc] init];
  NSMutableDictionary *New_myData = [[NSMutableDictionary alloc] initWithCapacity:1];
  NSString *selected = [prodArray objectAtIndex:indexPath.row];
  [selectedArray addObject:selected];
  [New_myData setValue:selectedArray forKey:@"SelctedPrds"];

   NSLog( @"data from BuildString %@", New_myData);
4

2 に答える 2

1

このコードはあなたのtableView:didSelectRowAtIndexPath:メソッドに含まれていますか?

その場合、ユーザーが行を選択するたびに新しい配列を作成します。つまり、常に1つのアイテム(つまり、選択したばかりの行)が含まれます。 NSMutableArray *selectedArray

より高いスコープの配列が必要です。selectedArrayクラスのインスタンス変数/プロパティとして設定してみてください。クラスのinitメソッドで配列を初期化する必要があります。次に、ユーザーが行を選択したら、その行を配列に追加すると、その状態が適切に保持されます。

また、メモリを解放するためのコーディング(ARCを使用していない場合)や、配列をクリアするための何らかの方法(アプリに「クリア」または「すべて選択解除」の種類のオプションがある場合)が必要になる場合もあります。

于 2012-04-26T18:30:19.847 に答える
1

このメソッドを使用して、選択したセルのリストを取得すると、選択tableView:indexPathsForSelectedRowsしたすべてのセルの配列が返されます。

于 2012-11-13T08:23:02.117 に答える