当我尝试在我的对象 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-推荐答案 strong>
这是典型的双重释放错误。一个对象已被释放太多次,它占用的内存已分配给另一个对象,因此其他对象正在接收用于旧对象的消息。
您想在方案编辑器中将 NSZombieEnabled 环境变量设置为 YES 并在调试器中运行您的应用程序。 Google 和/或 stackoverflow 搜索可以帮助您找到更多相关信息。
关于iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/7038343/
|