0

私はObjectiveCで作業しています。UIViewControllerにプッシュする約25個のセルを持つUITableViewControllerがあります。ユーザーが反撃したときに、ユーザーが特定のセルに正しいデータを入力したかどうかを確認したいと思います。(私にはブール値がありますisCellComplete。今はそれを呼び出します)。isCellCompleteがtrueの場合、セルのアクセサリとしてチェックマークを追加します。テストを入れようとしましたcellForRowAtIndexPathが、ビューが表示されるたびにそのメソッドが実行されてセルが更新されないようです。誰か提案がありますか?

4

2 に答える 2

1

UITableViewメソッドを調べる必要がありますreloadRowsAtIndexPaths:withRowAnimation:。これは、テーブルビュー全体をリロードするよりもはるかにエレガントです。また、アニメーションが必要ない場合は、指定することができます。アニメーションはUITableViewRowAnimationNone同じように見えますreloadDataが、はるかに効率的です。

チェックインを実行し、チェックにtableView:cellForRowAtIndexPath:合格した場合は、セルのアクセサリをに設定する必要がありUITableViewCellAccessoryCheckmarkます。次に、テーブルビューに適切な行を再読み込みするように指示するとtableView:cellForRowAtIndexPath:、データソースが自動的に呼び出され、そのセルが更新されます。

于 2012-07-17T21:52:18.947 に答える
0

あなたはただ呼び出すことができます

[self.tableView reloadData];

-(void) viewWillAppear:(BOOL)animated

そしてcellForRowAtIndexPath、ビューが表示されたときに再び呼び出されます

于 2012-07-17T19:53:48.097 に答える