0

オンまたはオフにできるアイテムを含むテーブル ビューがある iPhone アプリケーションを作成しています。ユーザーが選択したアイテムをチェックしたら、その情報をサーバーに送り返す必要があります。ただし、これを行う最適な方法はわかりません。情報を配列にロードする必要がありますか? もしかして辞書?また、コードでこれを行う方法の具体的な例を挙げていただけますか?

ありがとう。

誰も?

アップデート

明確にするために、URL 接続に関するすべてが処理されます。必要なのは、配列などで情報を並べ替える方法だけです。この場合、アイテムのインデックス パスを使用して、チェックされたテーブル ビュー セルを表します。その後、情報を JSON に変換し、サーバー上で解析します。JSON エンコード/デコード ライブラリがあるので、その方法に関する情報は必要ありません。

4

1 に答える 1

0

OK、これで私の問題は解決したようです。誰かがよりエレガントなソリューションを知っている場合は、私に知らせてください。

- (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これを JSON エンコードしてサーバーに送信します。インデックス パスに基づいて、サーバー側でチェックされている/チェックされていないテーブル ビュー セルを特定できます。

ありがとう、アンナ!

于 2011-07-06T18:24:23.660 に答える