I got this weird crash in my app, when i try to call this function on my object pageModel
[pageModel pageTitle] isEqualToString:@"some text"];
This is the debugger dump
-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40'
and messing around with the debugger I found out some really strange behaviour
(gdb) po pageModel
<PXPage: 0x6622e20>
(gdb) po [pageModel pageTitle]
<__NSArrayM 0x661de40>(...
(gdb) po pageModel.pageTitle
<__NSArrayM 0x661de40>(...
It thinks it’s a MutableArray but it’s not. It should be a NSString…And some other time it was an UIImage and other time something else and so on.
Does anyone as a clue about what’s going on here?
Thanks
This is a classic double release error. An object has been released too many times, the memory it occupies has been assigned to another object, so that other object is receiving messages meant for the old object.
You want set the
NSZombieEnabledenvironment variable toYESin the scheme editor and run your application in the debugger. Google and/or stackoverflow search can help you find more information on this.