2

В инициализации моего приложения я читаю некоторые данные из контекста управляемого объекта данных. По какой-то причине, хотя строка кода executeFetchRequest вызывается только один раз, я вижу 5 живых записей в списке объектов инструментальных средств Allocations. Например, если я углубиться в исходный код из инструментов в, я вижу это:Инструменты регистрации дополнительных живых объектов

enter image description here

я поставил точку останова на этой линии, и проверить, что приложение останавливается на этой линии только один раз. Тем не менее, это то, что я вижу, как результат в инструменты:

enter image description here

Если я смотрю на трассировку стека для каждого из этих 5 объектов, в точности то же самое, все указывает обратно на линию 135, как показано в первом снимке экрана. (Как вы можете видеть, я пробовал несколько разных сценариев, и все они имеют одинаковый результат.)

Итак, у меня есть два вопроса.

Вопрос №1: Почему я вижу 5 живых объектов?

Вопрос №2: Почему объекты живут так или иначе? Из того, что я могу сказать, все правильно выпущено и завернуто в пулы автозапуска, которые должны заботиться об этих объектах.

Я нахожусь на Xcode 4.2 с iOS SDK 5.0. Любые идеи были бы хорошы. Благодарю.

ответ

2

экземпляры CFData - это всего лишь фрагменты данных. Возможно, они представляют записи в базе данных, но не знают внутренности CoreData, это просто спекуляция. Они могут представлять кэшированные данные, хранящиеся в файле managedObjectContext, но это тоже просто спекуляция.

Если вы не видите никаких утечек, я бы не стал слишком беспокоиться об этом.

Хотя, если у кого-то есть более глубокое понимание этого вопроса, пожалуйста, звоните.

+0

Думайте, что находитесь на правильном пути. – timthetoolman

Смежные вопросы