是否可以获得指向目标c对象指针的指针列表。
类似
id **pointers(id object, int *out_count)
太疯狂了,对吧? =)
答案 0 :(得分:2)
不幸的是,没有。如果这样的事情通常是可能的,那么写一个精确的垃圾收集器会很简单:
int count;
pointers(obj, &count);
if (count == 0) {
free(obj);
}
由于objective-c垃圾收集器必须从根中追逐指针,控制分配器,并保守扫描堆栈以实现类似的东西,我认为假设你需要做同样的事情是合理的。
如果在GC模式下运行,可能可以利用垃圾收集器的实现。不是一个好主意,不简单,也不会在iOS上运行,但也许可能。毕竟libauto是开源的。