OStack程序员社区-中国程序员成长平台

标题: iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:06
标题: iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance)

当我尝试在我的对象 pageModel

上调用此函数时,我的应用程序出现了这个奇怪的崩溃
[pageModel pageTitle] isEqualToString"some text"];

这是调试器转储

-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40'

在调试器上搞砸了,我发现了一些非常奇怪的行为

(gdb) po pageModel
<XPage: 0x6622e20>

(gdb) po [pageModel pageTitle]
<__NSArrayM 0x661de40>(...

(gdb) po pageModel.pageTitle
<__NSArrayM 0x661de40>(...

它认为它是一个 MutableArray 但它不是。它应该是一个 NSString ......而其他时候它是一个 UIImage 和其他时候其他的东西等等。 有没有人知道这里发生了什么?

谢谢



Best Answer-推荐答案


这是典型的双重释放错误。一个对象已被释放太多次,它占用的内存已分配给另一个对象,因此其他对象正在接收用于旧对象的消息。

您想在方案编辑器中将 NSZombieEnabled 环境变量设置为 YES 并在调试器中运行您的应用程序。 Google 和/或 stackoverflow 搜索可以帮助您找到更多相关信息。

关于iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7038343/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4