Препроцессор Objective C: Получение текущего класса

Есть ли способ получить класс текущей области видимости в препроцессоре ?

В настоящее время я делаю следующее:

У меня есть макрос:

#define DATA_SOURCE_DEF_CONSTR(CLASS) + (CLASS *)dataSource { \
CLASS *source = [[[CLASS alloc] init] autorelease]; \
return source; \
}

, а затем я использую этот макрос во многих классах, например:

DATA_SOURCE_DEF_CONSTR(SpecialDataSource)

Я бы хотел что-то вроде:

#define DATA_SOURCE_DEF_CONSTR + (__CLASS__ *)dataSource { \
__CLASS__ *source = [[[__CLASS__ alloc] init] autorelease]; \
return source; \
}

И назовите это так:

@implementation ...

DATA_SOURCE_DEF_CONSTR

...

@end

Возможно ли это в Objective-C с препроцессором?

5
задан Brian Tompsett - 汤莱恩 13 July 2016 в 18:08
поделиться