Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 17th, 2012  |  syntax: None  |  size: 0.58 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Stringify macro values in Objective C?
  2. #define ASSIGN_PROPERTY(PROP_NAME, PROP_NAME_PARAM) {
  3.   if (PROP_NAME_PARAM == nil) {
  4.     NSAssert(PROP_NAME != nil, @"#PROP_NAME is already nil");
  5.     PROP_NAME = nil;
  6.   } else {
  7.     NSAssert1(PROP_NAME == nil, @"#PROP_NAME is already set, address=%p", PROP_NAME);
  8.     PROP_NAME = PROP_NAME_PARAM;
  9.   }
  10. }
  11.        
  12. - (void) setFoo:(NSObject *)fooParam {
  13.   ASSIGN_PROPERTY(foo, fooParam)
  14. }
  15.        
  16. foo is already set, address=0x5e55400
  17.        
  18. #PROP_NAME is already set, address=0x5e55400
  19.        
  20. NSAssert(PROP_NAME != nil, @"%s is already nil", #PROP_NAME);