LorenBrichterのFastTableViewサンプルに基づいて、コアグラフィックを使用してカスタムUITableViewCellを描画しています。
カスタムセルクラスでいくつかのiVarを使用しています。これは、強力な参照(したがって、ARC)を使用してアトミック(マルチスレッドセーフ)として作成しています。
tableViewのスクロールが速すぎると、問題が発生します。- (void)drawContentView:(CGRect)rect
カスタム描画を実行するためにサブクラス化しているメソッドでランダムにクラッシュします。
問題は、カスタムセルクラスで使用しているiVarが解放され、メモリが他のオブジェクトによって所有されるようになったことです。これにより、もちろんクラッシュが発生します。
描画コード全体に@synchronizedディレクティブを使用して、描画コードにミューテックスロックを強制しようとしましたが、問題は解決しませんでした。
他の誰かがこの問題に直面し、問題の解決策を知っていますか?