From 7f7b019d6ec3b58ef273cc000caee19ae510a86a Mon Sep 17 00:00:00 2001 From: Ian Oliver Date: Fri, 15 Mar 2013 16:35:31 -0700 Subject: [PATCH] Add ivar fallback to '_*' variables Allows interchangable use of autosynthed properties and explicit ivars... The following two forms would work @interface ... @property (readwrite, nonatomic) CCSprite* mySprite; @end @interface ... { CCSprite* mySprite; } @end --- CCBReader/CCBReader.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CCBReader/CCBReader.m b/CCBReader/CCBReader.m index 5b25fbc..94716b5 100644 --- a/CCBReader/CCBReader.m +++ b/CCBReader/CCBReader.m @@ -953,6 +953,15 @@ - (CCNode*) readNodeGraphParent:(CCNode*)parent if (target) { Ivar ivar = class_getInstanceVariable([target class],[memberVarAssignmentName UTF8String]); + + if( !ivar ) + { + // look for '_' variant (supports Apple's new autosynth properties) + NSString* autoSynthMemberVarAssignmentName = [NSString stringWithFormat:@"_%@", memberVarAssignmentName]; + + ivar = class_getInstanceVariable([target class],[autoSynthMemberVarAssignmentName UTF8String]); + } + if (ivar) { object_setIvar(target,ivar,node);