【发布时间】:2011-01-18 13:48:39
【问题描述】:
由于在 Objective-C 2.0 中不推荐使用 class_poseAs(..),我需要找到另一种方法来在运行时更改对象的类。我发现我可以使用 object_setClass(..) 更改对象的类。我现在的问题是查找给定类的所有当前实例以便更新它们。
一种解决方案是维护我想要更新的实例的全局字典,但我想知道是否已经有一种方法可以从反射 api 获取这样的集合。
我检查了Apple's Runtime reference,但找不到任何有用的东西。仅使用 method_exchangeImplementations(..) 更新类的方法对我来说不是解决方案,因为我希望能够通过使用 super 重用 old 实现.
【问题讨论】:
标签: objective-c reflection objective-c-runtime