Skip to content

Instantly share code, notes, and snippets.

@derekli66
Created May 2, 2015 14:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save derekli66/e02f8b14bdd70e6fa2de to your computer and use it in GitHub Desktop.
Save derekli66/e02f8b14bdd70e6fa2de to your computer and use it in GitHub Desktop.
Functions to check nil or null object input for NSNumber and NSString.
/**
Inspect input number to see if there is nil input or null object input
@param aNumber an input number
@return If nil input or null object input found, a NSNumber object with zero value will return.
If the input is a NSStirng object, a NSNumber object contianing dobleValue of the string will return.
@warning If input number is not a NSNumber or NSString, a NSNumber object containing zero will return.
*/
NSNumber* Number(id aNumber);
/**
Inspect input string to see if there is nil input or null object input
@param aString an input string
@return If nil input or null object input found, a <null> string will return.
If the input is a NSNumber object, a NSString object contianing dobleValue of the number will return.
@warning If input string is not a NSString or NSNumber, a <null> string will return.
*/
NSString* String(id aString);
NSNumber* Number(id aNumber)
{
if (!aNumber) {
NSLog(@"Error: Input is nil while inspecting the number");
return @(0);
}
if ([aNumber isKindOfClass:[NSNull class]]) {
NSLog(@"Error: Input number is a NSNull object.");
return @(0);
}
if ([aNumber isKindOfClass:[NSString class]]) {
NSLog(@"Warning: Converted %@ to a NSNumber class", NSStringFromClass([aNumber class]));
double doubleVal = [aNumber doubleValue];
return @(doubleVal);
}
else if ([aNumber isKindOfClass:[NSNumber class]]) {
return aNumber;
}
else {
NSLog(@"Error: Can not transform %@ to NSNumber. Return Zero value.", NSStringFromClass([aNumber class]));
return @(0);
}
}
NSString* String(id aString)
{
if (!aString) {
NSLog(@"Error: Input is a nil while inspecting the string.");
return @"<null>";
}
if ([aString isKindOfClass:[NSNull class]]) {
NSLog(@"Error: Input string is a NSNull object.");
return @"<null>";
}
if ([aString isKindOfClass:[NSNumber class]]) {
NSLog(@"Warning: Converted %@ to a NSString class", NSStringFromClass([aString class]));
double doubleVal = [aString doubleValue];
return [NSString stringWithFormat:@"%f", doubleVal];
}
else if ([aString isKindOfClass:[NSString class]]) {
return aString;
}
else {
NSLog(@"Error: Can not transform %@ to NSString. Return <null> string.", NSStringFromClass([aString class]));
return @"<null>";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment