Skip to content

Instantly share code, notes, and snippets.

@joerick
Created May 21, 2015 15:55
Show Gist options
  • Save joerick/2309934085316e9c36ad to your computer and use it in GitHub Desktop.
Save joerick/2309934085316e9c36ad to your computer and use it in GitHub Desktop.
MXCreate macro
#define MXCreate(create, ...) \
({ \
__typeof__(create) obj = create; \
metamacro_foreach(_MXCreate_set, ;, __VA_ARGS__); \
obj; \
})
#define _MXCreate_set(index, set_expr) obj . set_expr
// before
_rolloverLabel = [[NSTextField alloc] init];
_rolloverLabel.drawsBackground = NO;
_rolloverLabel.editable = NO;
_rolloverLabel.bordered = NO;
// after
_rolloverLabel = MXCreate([[NSTextField alloc] init],
drawsBackground = NO,
editable = NO,
bordered = NO);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment