如何拦截Objective-C中的Core Foundation对象的deallocate回调

时间:2010-06-18 04:42:06

标签: objective-c core-foundation

我正在为AppKit和Foundation编写一个Eiffel包装器,我需要劫持所有-dealloc方法。

由于Objective-C的动态特性,很容易做到这一点。但问题是它只适用于某些Foundation或AppKit对象。某些对象(例如NSString,NSArray,NSDate,...)实际上是CF对象,因此不会调用dealloc方法。而是调用分配CF对象的分配器的解除分配回调。有没有办法拦截那个?

1 个答案:

答案 0 :(得分:1)

这是一个参考而不是一个答案,但你应该看一下这个页面,深入讨论CF对象解除分配调配。 http://mikeash.com/pyblog/friday-qa-2010-07-30-zeroing-weak-references-to-corefoundation-objects.html