Наблюдение изменения в ЛЮБОМ свойстве класса в Objective C

Помещенный просто, там способ получить общее уведомление, когда свойство в классе Objective C изменяется? Я знаю, что могу использовать KVO для наблюдения конкретных изменений свойства, но у меня есть потребность назвать конкретный метод каждый раз, когда любой setProperty: сообщение отправляется в мой класс. Я хочу смочь получить универсальное уведомление без любого беспокойства, о котором в особенности было изменено свойство.

Если это помогает разъяснить, почему я хочу сделать это, я использую некоторый быстрый код прокрутки таблицы, найденный здесь: http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/

Часть процесса выполнения этого является этим каждый раз, когда свойство в ячейке табличного представления изменяется, [ self setNeedsDisplay ] потребности, которые назовут. Я не должен переопределять методы установщика для каждого свойства в моем классе только для совершения этого вызова.

6
задан Chris Hanson 19 July 2010 в 06:11
поделиться

2 ответа

Как отмечает Чак, вы можете создать зависимый ключ или, конечно, вы можете напрямую наблюдать за всеми его свойствами (что меньше работы, чем перегрузка установщиков).

Использование Objective-C во время выполнения, если вы используете исключительно свойства, вы можете автоматизировать этот процесс с помощью class_copyPropertyList () . Но я, вероятно, сделаю это только в том случае, если эта проблема возникнет у вас немного. Если у вас есть только один экземпляр этой проблемы, вероятно, проще, безопаснее и удобнее просто наблюдать за списком свойств, если вам не хочется работать во время выполнения ObjC.

6
ответ дан 9 December 2019 в 20:44
поделиться

Не совсем так. Вы можете создать зависимый ключ , который зависит от каждого свойства, которое вы хотите раскрыть, и затем наблюдать за ним. Думаю, это почти все, что вам нужно.

2
ответ дан 9 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: