I'm developing a whole new app that's a game. In this game, multiple users use the same device, one user at a time. Users will unlock each level by completing the preceding one. I have a Core Data model that my app will use to keep track of which level the user has unlocked. Prior to playing any level, the user must select that level from a menu. So, I have an NSManagedObject representing the user. This object stores data on which level the user unlocked. If no such data is available, it's because the user hasn't completed a level. The problem is that Code: [self valueForKey:@"key"] causes an EXC_BAD_ACCESS code 2 when the app checks to see which level the user is on.