-3

メインのタブバーであるタブバーにsearchBarとsearchDisplayControllerを入れました。
プッシュして新しいビューコントローラーを開くと、問題はありません。

mainTabbar -> navigationController+searchController -(rowdidselect の後にプッシュ)-> newVC -(プッシュ)-> newVC -(プッシュ)-> ...

しかし、現在のモーダルを実行するとき。

mainTabbar -> navigationController+searchController -(rowdidselect の後にプッシュ)-> newVC -(モーダル)-> newVC

その後、searchResult に戻ります

mainTabbar -> navigationController+searchController

newViewController を再度プッシュできず、次のエラーが発生しました。

[__NSCFString setView:]: unrecognized selector sent to instance 0x8292720

私に何が起こっているの?すべての結果は、ジェスチャーコグナイザーについて教えてくれます。

::ゾンビを有効にした後、このメッセージが表示されました

-[UITapGestureRecognizer 保持]: 割り当て解除されたインスタンス 0xfcd83b0 に送信されたメッセージ

searchDisplayController テーブルのセルにある TapGestureRecognizer の割り当てが解除されていると思います。誰でもそれらを保持する方法を知っていますか???

4

1 に答える 1

0

あなたは実際にはあなたのケースについて多くの情報を提供しませんが、一般的にエラーログ:

[__NSCFString setView:]: unrecognized selector sent to instance 0x8292720

setViewタイプの間違ったオブジェクトにメッセージを送信しようとしていることを意味しますNSString

あなたはあなたのコードが1つのケースで機能していると言っているので、これはあなたが間違ったオブジェクトにメッセージを送ることの問題ではないと思います。むしろ、これは、割り当てが解除されている適切なオブジェクトと、そのメモリがNSStringオブジェクトに再利用される(メッセージを受信する)ことに関連しています。

重要なのは検索結果に戻る方法にあるのではないかと思いますが、何が起こっているのかを理解するために、より多くのコードを提供する必要があります。

于 2013-02-17T08:59:35.897 に答える