2012-03-12 7 views
0

編集:コメントにiOS 5の使用例がありますが、他のバージョンでもこれを取得しています。私は今、iOS 5の場合にのみ、セルを登録してデキューするテストを実装しましたが、本当に困惑しています!割り当て解除されたインスタンスで_ACcessibilityUpdateRemoveControlを取得するUITableViewCell

まだ_accessibilityUpdateRemoveControl例外、奇妙な迷惑を受け

は、エディットコントロールで何かのように見える、何が保持されていないので、何もdeallocingを必要としませんが、してみてください、と私はそれを見つけた場合、答えを掲載する予定です!

これは昨日働いていましたが、今はそれが...何も変わりませんでした。

編集:reloadDataはクラッシュを引き起こしますが、私のカスタムtableViewCellがなければクラッシュは発生しません.hmmm、+記号を削除する方法はありますが、削除は行われません!

実際のエラーは次のとおりです。 [CustomTableViewCell _accessibilityUpdateRemoveControl]:メッセージが割り当て解除されたインスタンスに送信されました。

面白いことに、削除ボタンが機能します。基本的には、配列から項目を削除し、別の項目に追加します。基本的には、別の表に追加します。クラッシュすることなく、うまく動作します。

テーブル内のデータをリロードする行を削除すると、挿入ボタンが追加された後もその行が削除されます。例:すぐにデータをリロードしたり、ウィンドウを閉じたり、戻ったりしないで、すべてがうまく表示されます。これまでクラッシュしていた正確な行は、

[theTable reloadData]ですが、他のテーブルの行(私は両方を更新するため)は全くクラッシュしません。実際には、そのおかげで、私はUITableViewの関数のヘッダーを表示し、その特定の行で他の回答を表示します。私はちょうどその奇妙な関数呼び出しを検索した後、どこでも、これを見ていませんでした。

私は自分のセルがメモリ内にあることを保証しており、デキューするだけで動作するようにしています。私はこれで困っています、うまくいけば1時間以内に解決策があります。

おかげ

+0

これは私のカスタムテーブルのセルとは、サブクラス化していても、何かを実装していないにもかかわらず...このクラッシャーは普通のものでは起こらないので、ただ、これを設定する必要がありました ::私は –

+0

は自分自身に答えることができない見つけるときコメントにして、投稿します [possibleTable registerNib:[UINib nibWithNibName:nilを] forCellReuseIdentifier: "識別子" @ "NameOfTableViewCell" バンドル@] ; 再利用カスタムテーブルxib(または同様のもの)のWeb検索では、Nibsを登録する必要があることが暗示されていました。メモリの問題から、おそらく「Appleオブジェクトがテーブルオブジェクトを保持する方法」であるとわかりました...次に、 Robotic Cat http://stackoverflow.com/questions/8484708/is-it-faster-to-create-uitableviewcell-programmatically-load-one-from-a-nibへ移動します –

答えて

0

私は、ラインにより、Appleのコードを行をステップごとに関数の名前を読み、これに気づい: editControlWasClicked:(id)を

がちょうどクラッシュ前に呼び出されるクリック。私はそれをエラーメッセージと組み合わせ、実際にはこれが呼び出される前に[table2 reloadData]と呼んでそれらの断片をまとめました。

セルは消去されているので(他のテーブルに移動する)、何らかの形でシステムコールバックを呼び出す "editControlWasClicked"テーブルのリロード後...メインスレッド上にあるので、 -threaded ...それ以外はどのように順番にこれらを呼び出すだろうが、それを行うリロード後??

これをテストするために、私は "afterDelay"関数を使いました。

なぜ私は1つのエディットコントロールを追加して、もう1つのエディットコントロールを減算するのかと聞いているかもしれません。その目的があります。

可能な解決法:1)セレクタのafterDelayメソッドを使用します。 2)カスタムIBActionを書く(xibなので)か、それ以外の場合はカスタムイメージと関数を使用して、コールバックされないようにします。

注2は、セルからのメッセージがView Controllerに到達できるように、余分なデリゲートを作成することです。

基本的な解決策:iOS 5を使用し、キューイングを使用するか、そうでない場合は、上記の解決策を実行するか、スレッド/フックを見つけ出し、遅らせることなくこれを行う方法を見つけます。 (私はそれを見つけることができればそれを好むでしょう)

関連する問題