Как перехватить освобождение обратных вызовов объектов Core Foundation в Objective-C - PullRequest
2 голосов
/ 18 июня 2010

Я пишу оболочку Eiffel для AppKit и Foundation, и мне нужно перехватить все методы -dealloc.

Благодаря динамической природе Objective-C это довольно легко сделать.Но проблема в том, что он работает только с некоторыми объектами Foundation или AppKit.Существуют определенные объекты (например, NSString, NSArray, NSDate, ...), которые на самом деле являются объектами CF, поэтому метод dealloc не вызывается.Вместо этого вызывается обратный вызов освобождения распределителя, который выделил объект CF.Есть ли способ перехватить это?

1 Ответ

1 голос
/ 30 января 2011

Это скорее ссылка, чем ответ, но вы должны посетить эту страницу, где подробно обсуждается вопрос освобождения объекта CF.http://mikeash.com/pyblog/friday-qa-2010-07-30-zeroing-weak-references-to-corefoundation-objects.html

...