これは私の問題を解決するようです。誰かがより洗練された解決策を知っているなら、私に教えてください。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if ([self.tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryCheckmark) {
[self.tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryNone;
[self.tableView cellForRowAtIndexPath:indexPath].textLabel.textColor = [UIColor colorWithRed:0.0/255 green:0.0/255 blue:0.0/255 alpha:1];
[selectedSources removeObject:[NSNumber numberWithInt:indexPath.row]];
} else {
[self.tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
[self.tableView cellForRowAtIndexPath:indexPath].textLabel.textColor = [UIColor colorWithRed:72.0/255 green:104.0/255 blue:152.0/255 alpha:1];
[selectedSources addObject:[NSNumber numberWithInt:indexPath.row]];
}
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
selectedSources
NSMutableArrayの、Iその後、JSONエンコードと私のサーバーに送信されます。インデックスパスに基づいて、どのテーブルビューセルがサーバー側にチェックされているかチェックされていないかを識別できます。
ありがとう、アンナ!
転送されるアイテムの数はいくつですか?アイテムごとにintを送信するのか、アイテムごとにフィールドのセット全体を送信するのですか?どのようなサーバーですか?サーバー側でJSON、XML、その他が必要ですか?デバイス上でどのようなデータ構造が使用されているかは関係ありません。 「最適な」方法を見つける前に、NSURLConnectionやサードパーティのライブラリを使用してサーバーに転送できましたか? – Anna
私のポストをいくつかの情報で更新しました。 – wstr
私はあなたが選択されたインデックスパスのリストを追跡しているなら、最も簡単な方法はNSIndexPathオブジェクトを含むNSMutableArrayを持つことだと思います。しかし、サーバーは「セクション1、行3」が何に関係しているかをどのように知っていますか?おそらく、テーブルビューに表示されているモデルオブジェクトに関連する一意の識別子を送信する必要があります(表示されるセクション+行ではありません)。 – Anna