Objective-C是否可以在运行时查找已分配的对象?

时间:2013-07-02 13:20:38

标签: ios objective-c reflection nstimer nsrunloop

我想停止从静态库中分配的NSTimer,因此我没有对所述对象的引用。但我知道它就在那里,因为我可以看到仪器中的分配。 有没有办法在运行时获取所有Timers的引用。或者是否可以获得运行循环的所有预定计时器?

1 个答案:

答案 0 :(得分:1)

以任何实际方式都是不可能的。仪器的工作原理是使用钩子记录运行时,该钩子记录所有对象分配和解除分配。

虽然您可以创建类似的机制,但在调试之外它没有用处。

首先,它会产生很大的开销。明显的开销。

其次,你无法安全地对信息做任何事情,因为你会对可能导致崩溃或未定义行为的实现做出假设。