0

ラベル、インジケーター ビューなどを含む UITableViewCell サブクラスがあります。データが Web から取得されたときに更新する必要があります (具体的には、結果の数のラベルがあります)。

これを使用してセルをリロードしようとしましたが、機能しません。cellForRowAtIndexPath が呼び出されていることはわかっており、データ ソース自体が更新されている値です。

[self.myFriendsTbl beginUpdates];
[self.myFriendsTbl reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.myFriendsTbl] endUpdates];
4

3 に答える 3

2
[self.myFriendsTbl reloadData];
于 2013-02-22T12:28:52.370 に答える
2
[self.myFriendsTbl reloadData];

これにより、各ビジブルが強制的UITableViewCellにリロードされます。cellForRowAtIndexPathそれぞれに呼び出されます。

于 2013-02-22T12:27:17.210 に答える
0

セルを削除または挿入していないため、beginUpdates または endUpdates を呼び出す必要はありません。

DataSource の特定の行のデータを変更して呼び出すだけです

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];

あなたがしていたように。

うまくいかない場合は、正しい行を変更していないか、indexPath が正しくない可能性があります。それを確認するために、さらにコードを表示します。たとえば、「UITableViewRowAnimationLeft」などのアニメーションを使用すると、どのセルが変更されているかを確認するのに役立ちます。

于 2013-02-22T12:46:39.977 に答える