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