Skip to content

Instantly share code, notes, and snippets.

@PsychoH13
Created May 20, 2011 18:29
Show Gist options
  • Save PsychoH13/983493 to your computer and use it in GitHub Desktop.
Save PsychoH13/983493 to your computer and use it in GitHub Desktop.
Difference of building JSON...
isClass = [object PSYJK_JSONClass];
if(isClass == PSYJKClassUnknown
if(JK_EXPECT_T(object->isa == encodeState->fastClassLookup.stringClass)) { isClass = JKClassString; }
else if(JK_EXPECT_T(object->isa == encodeState->fastClassLookup.numberClass)) { isClass = JKClassNumber; }
else if(JK_EXPECT_T(object->isa == encodeState->fastClassLookup.dictionaryClass)) { isClass = JKClassDictionary; }
else if(JK_EXPECT_T(object->isa == encodeState->fastClassLookup.arrayClass)) { isClass = JKClassArray; }
else if(JK_EXPECT_T(object->isa == encodeState->fastClassLookup.nullClass)) { isClass = JKClassNull; }
else {
if(JK_EXPECT_T([object isKindOfClass:[NSString class]])) { encodeState->fastClassLookup.stringClass = object->isa; isClass = JKClassString; }
else if(JK_EXPECT_T([object isKindOfClass:[NSNumber class]])) { encodeState->fastClassLookup.numberClass = object->isa; isClass = JKClassNumber; }
else if(JK_EXPECT_T([object isKindOfClass:[NSDictionary class]])) { encodeState->fastClassLookup.dictionaryClass = object->isa; isClass = JKClassDictionary; }
else if(JK_EXPECT_T([object isKindOfClass:[NSArray class]])) { encodeState->fastClassLookup.arrayClass = object->isa; isClass = JKClassArray; }
else if(JK_EXPECT_T([object isKindOfClass:[NSNull class]])) { encodeState->fastClassLookup.nullClass = object->isa; isClass = JKClassNull; }
else {
@interface NSObject (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass;
@end
@implementation NSObject (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassUnknown; }
@end
@implementation NSString (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassString; }
@end
@implementation NSDictionary (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassDictionary; }
@end
@implementation NSNull (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassNull; }
@end
@implementation NSArray (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassArray; }
@end
@implementation NSNumber (PSYJKClassAdditions)
- (PSYJKClass)PSYJK_JSONClass; { return PSYJKClassNumber; }
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment