IOSでは、現在表示されていないUITableViewをリロードする可能性があります。私は、セルの内容が消えているいくつかの非常に特殊なバグを発見しましたが、別のTabに切り替えたときに起こるように見えました(最初のタブのtableViewを持つUIViewControllerはメモリに残っていて、表示されていないUITableViewのリロードデータ
そうライン:
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadRowsAtIndexPaths([NSIndexPath(forRow: row, inSection: 0)], withRowAnimation: UITableViewRowAnimation.None)
}
は、実際に表示され、バグが起こった場合、これはされていないテーブルの表示を変更するコードを実行しています。
viewControllerにViewDidAppearとViewDidDisAppearにいくつかのコードを追加すると、基本的にtableViewの更新がブロックされます(そして、そのviewControllerを再入力すると完全に更新されます)。
dispatch_async(dispatch_get_main_queue(), {
if self.delegate.viewIsDisplayed() {
self.tableView.reloadRowsAtIndexPaths([NSIndexPath(forRow: row, inSection: 0)], withRowAnimation: UITableViewRowAnimation.None)
}
}
私は、問題が起こっていた理由がわからないし、誰かが私が前に見たものにいくつかの光を当てることができるかもしれない期待していた(細胞がランダムにコンテンツをクリアした後、後続の各リロードに再登場)