Переопределить все сеттеры и геттеры подкласса

Я хочу переопределить сеттер и геттер и найти классobjc_property_t не делая это индивидуально для каждого свойства.

Я получаю все свойства так:

unsigned int numberOfProperties;
    objc_property_t *propertyArray = class_copyPropertyList([self class], &numberOfProperties);
    for (NSUInteger i = 0; i < numberOfProperties; i++) {
        objc_property_t property = propertyArray[i];
        NSString *name = [[NSString alloc] initWithUTF8String:property_getName(property)];

        property.getter = SEL; //?
    }

Это пример того, как я хочу переопределить метод получения и установки - если есть лучший способ, дайте мне знать. NSInvocation может быть?

- (UIImage *)backgroundImage
{
    return [self overrideGetterWithSelector:NSStringFromSelector(_cmd)];
}

- (void)setBackgroundImage:(UIImage *)backgroundImage
{
    [self overrideSetterForObject:backgroundImage forSelector:NSStringFromSelector(_cmd)];
}

Или есть способ перехватить все сообщения, отправленные в класс?

Моя цель - сделать общий способ хранения свойств класса между запусками. Вы, вероятно, хотите спросить, почему я не используюNSUserDefaults или жеNSKeyedArchiver, Ну я пользуюсьNSKeyedArchiver - Я не хочу вручную переопределять каждый установщик и получатель.

Ответы на вопрос(2)

Ваш ответ на вопрос