我将searchBar和searchDisplayController放在主tabbar的tabbar中 当我通过推动打开新的viewcontroller时没有问题。
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
发生什么事发生在我身上?所有结果只是告诉我有关gesturecognizer的信息。
::启用僵尸后我得到了这条消息
- [UITapGestureRecognizer retain]:发送到解除分配的实例0xfcd83b0的消息
我想在searchDisplayController表的单元格中的TapGestureRecognizer被解除分配。 任何人都知道如何留住他们???
答案 0 :(得分:0)
您实际上并没有提供有关您的案例的更多信息,但通常是错误日志:
[__NSCFString setView:]: unrecognized selector sent to instance 0x8292720
表示您尝试将setView
邮件发送到NSString
类型的错误对象。
由于您说您的代码在一种情况下工作,我认为这不是您将消息发送到错误对象的问题。相反,这与正在解除分配的正确对象有关,并且其内存重用于NSString
对象(然后接收消息)。
我怀疑关键可能在于您如何返回搜索结果,但您应该为我们提供更多代码以了解正在发生的事情。