文字列プロパティを定義するマクロを作成しました
#define STRING_PREF(NAME) \
@property (nonatomic, strong, getter=NAME, setter=set_##NAME##:) NSString * NAME;
このように使用してみます:
STRING_PREF(username)
しかし、次のエラーで終わります:
error: pasting formed 'set_username:', an invalid preprocessing token
STRING_PREF(username)
^
foo.h:16:62: note: expanded from macro 'STRING_PREF'
@property (nonatomic, strong, getter=NAME, setter=set_##NAME##:) NSString * NAME;
^
1 error generated.
プリプロセッサでセレクタ名を生成することはできませんか?