tableviewcell ( exc_bad_access )のメモリ管理に問題があります。
私のtableviewcellの 1つには、非同期 html データ ( loadHTMLStringメソッド) をロードする uiwebview が含まれており、現在のコントローラーがそのデリゲートとして設定されています。
ナビゲーション コントローラーから tableviewcontroller をポップするのが速すぎると、アプリがクラッシュします。
私の意見では、これが失敗する理由です:
- コントローラーの前にセルが解放された場合 => すべて OK、デリゲートはまだ有効であり、独自の解放メソッドでデリゲートを nil に設定することもできます
- コントローラーの後にセルが解放された場合 (iテーブル ビュー セルが自動解放されるため推測) => デリゲートがまだ割り当て解除されたコントローラーに設定されているため、アプリがクラッシュする
これを正しく解決する方法はありますか?? ありがとうございました..
cellForRowAtIndexPath のコード:
...
CustomTableViewCell * cCell = (CustomTableViewCell*)cell;
cCell.myWebView.delegate = self;
[[cCell myWebView] loadHTMLString:html baseURL:baseURL];
....