oni*_*a87 2 iphone objective-c ipad ios
当我尝试在我的对象pageModel上调用此函数时,我在我的应用程序中遇到了这种奇怪的崩溃
[pageModel pageTitle] isEqualToString:@"some text"];
Run Code Online (Sandbox Code Playgroud)
这是调试器转储
-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40'
Run Code Online (Sandbox Code Playgroud)
并且搞乱调试器我发现了一些非常奇怪的行为
(gdb) po pageModel
<PXPage: 0x6622e20>
(gdb) po [pageModel pageTitle]
<__NSArrayM 0x661de40>(...
(gdb) po pageModel.pageTitle
<__NSArrayM 0x661de40>(...
Run Code Online (Sandbox Code Playgroud)
它认为这是一个MutableArray,但事实并非如此.它应该是一个NSString ...而另一些时间它是UIImage,其他时间是其他东西等等.有谁知道这里发生了什么?
谢谢
这是一个经典的双重释放错误.对象已被释放太多次,它占用的内存已被分配给另一个对象,因此其他对象正在接收用于旧对象的消息.
您希望在方案编辑器中将NSZombieEnabled环境变量设置为YES并在调试器中运行您的应用程序.Google和/或stackoverflow搜索可以帮助您找到有关此内容的更多信息.
| 归档时间: |
|
| 查看次数: |
1460 次 |
| 最近记录: |