First off I confess my ignorance, I\'ve learned everything I know about Objective-C in the few months I\'ve been working on my project. I also find it utterly frustrating ho
In some cases, such as missing keys in NSUserDefaults, you get back the literal @"" as an empty string.
Here's my safe check for an NSNumber.
Note the check for it being an NSNumber occurs first because NSNumber doesn't understand isEqualToString
id savedPin = [[NSUserDefaults standardUserDefaults] valueForKey:@"blah"]; // don't assume is created so don't type as NSNumber*
if ( ![savedPin isKindOfClass:[NSNumber class]] && [savedPin isEqualToString:@""]) {