Created
May 2, 2015 14:38
-
-
Save derekli66/e02f8b14bdd70e6fa2de to your computer and use it in GitHub Desktop.
Functions to check nil or null object input for NSNumber and NSString.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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