Вы можете сгенерировать средство доступа во время выполнения, ответив на +resolveInstanceMethod:
(что и делает Core Data) или смоделировав его с -forwardInvocation:
. Я видел, как это используется в объектах фиктивной модели, которые поддерживают произвольные (объектно-значимые) свойства, хотя в этом случае свойства были объявлены в невыполненных категориях, поэтому явное @dynamic
не использовалось. (На самом деле, я написал глупый хак , который заставляет NSDictionary
вести себя таким образом.)
Я мог бы представить, что подобный подход используется для прокси-объекта.