UITableView
を扱うときに狂った問題に遭遇していますが、セクション化されたUITableView
で複数の選択(チェック)を行う良いサンプルプロジェクト(github)やチュートリアルがありますか?つまり、ユーザーが上下にスクロールして別のセクションのセルを選択/選択解除できる長いUITableView
を意味します。 私が実行した問題は、異なるセクションのセルをチェックし、テーブルビューを上下にスクロールすることです。アプリがクラッシュし、より良いケースでは、画面を下にスクロールするとランダムなセルがチェックされます(テーブルビュー)。だから私は私のアプリにそれを統合する前にすべてを試して、簡単なプロジェクトを作ることにしました。長いセクションの複数チェックUITableView
クラッシュを引き起こすアクションの1つは、セクション1のcell1をチェックし、セクション2のcell2をチェックしてからセクション1のcell1のチェックを外すことです。 サンプルがhereで、それをテストしてください、それがブレークポイントでクラッシュを追跡し、あまりにも軽量ですが、私はこの方法が問題を引き起こしていることがわかった:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *dict = [self.tableData objectAtIndex:[self tableIndexFromIndexPath:indexPath]];//this statement is the issue, i think the app is conflicting between sections when check/uncheck cells
BOOL newState = ![[dict objectForKey:kCellStateKey] boolValue];
NSDictionary *newDict = [NSDictionary dictionaryWithObjectsAndKeys:[dict objectForKey:kCellTextKey], kCellTextKey, [NSNumber numberWithBool:newState], kCellStateKey, nil];
[self.tableData replaceObjectAtIndex:indexPath.row withObject:newDict];
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
私は本当に私のコードを改善するために、あなたの専門知識を必要としています。あらかじめThanx。
にすべてDictsを変更 – jrturton
こんにちは、自分の投稿を編集しました。私のコードを支持して、セルをチェック/チェック解除し、クラッシュすることなくUITableViewを上下にスクロールできるようにしてください。それは私の究極の目的のままです。 – Malloc