2010-12-06 2 views
3

Если у меня есть экземпляр класса, скажем UIView или его подкласс или просто простой подкласс NSObject, как я могу получить список наблюдаемых ключевых путей этого объекта?Как вы получаете список наблюдаемых ключевых путей для KVO?

Я хотел бы получить список допустимых значений ключевого слова для объекта, чтобы использовать их в методе addObserver.

+0

Repost of http://stackoverflow.com/questions/754824/get-an-object-attributes-list-in-objective-c – Endemic 2010-12-06 22:10:11

+0

@Endemic: Спасибо, я попробую это. Я не включал «kvc» и «атрибут», когда я искал, и этот ответ не упоминает kvo или keypath. – Padawan 2010-12-06 22:17:56

ответ

3

Вы не можете получить полный список ключей, совместимых с kvo для объекта. Такой список не существует. Объект не только может использовать любые ключи, которые ему нужны, но он может даже динамически добавлять новые ключи во время выполнения. Лучшее, что вы, вероятно, сможете сделать, это перебрать все свойства, обработать их имена в виде ключей и, возможно, перебрать методы, которые ищут что-либо из формы -setFoo:, чтобы лечить «foo» в качестве ключа. Но это не безупречно, и это не гарантирует, что все поймают.

Смежные вопросы