Я обнаружил, что свойства объекта Objective-C можно пометить как @dynamic
, чтобы сообщить компилятору, что реализация будет доступна во время выполнения. Я хотел бы знать, есть ли способ сообщить компилятору, что все свойства объекта являются динамическими, без явного указания их один за другим (у меня нет списка свойств заранее). Я знаю, что это не было бы проблемой, если бы я просто использовал [object something]
, но для стилистических целей я хочу использовать синтаксис object.something
.
Я совершенно уверен, что это невозможно сделать, но я бы хотел, чтобы кто-то это подтвердил. Поскольку это не для производственного использования, решение может включать в себя все, что вы можете себе представить.
Спасибо.
Дополнительная информация:
- Меня волнует только работа
-something
(получателя), поэтому, если ваше решение не поддерживает сеттеры, это нормально.
Пример:
@interface MagicalClass : NSObject
// property 'something' is not defined!
@end
@implementation MagicalClass
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { ... }
- (void)forwardInvocation:(NSInvocation *)anInvocation { ... }
@end
MagicalClass *obj = [[MagicalClass alloc] init];
[obj something]; // compiler warning
obj.something; // compiler error