Yep which means you are overreleasing your NSData object and an "Order" object took its memory block. So your pointer that pointed to an NSData object is now pointing to an "Order" object.
__________________
If you are looking for a quality developer, I'm your man. Give me a PM if you are interested.
Try using Clang, the static code analyzer that comes with XCode ( you can do that by going to Build Menu -> Build and Analyze).
It will point out any illegal or irregular releases and other logical mistakes of the sort. You might find this particular one between them and solve your problem unknowingly.
Take care though, Clang is quite BETA-ish, sometimes it has false positives.
That error occurs only after update to a new version, but don't appears in each user who updated the app only in few.
Could you tell me if problem can be here:
I have a custom class which I save in userdefaults using nskeyedarchiver. In that class I have an array with objects of that Order class (but before add it to that array I serialize order object also with nskeyedarchiver). In the new version I deleted one of the properties from that main custom class, but in nsuserdefaults was saved the old version. Maybe now should I delete that custom class from nsuserdefaults?
Try using Clang, the static code analyzer that comes with XCode ( you can do that by going to Build Menu -> Build and Analyze).
It will point out any illegal or irregular releases and other logical mistakes of the sort. You might find this particular one between them and solve your problem unknowingly.
Take care though, Clang is quite BETA-ish, sometimes it has false positives.
OFFTOPIC: Dude, congratz! Your app is very very cool. And I love the texts on your site :P especially the one about how you don't lose your job with this app ) Keep up the good work