Почему KVO сохраняет все объекты NSMutableArray? - PullRequest
0 голосов
/ 19 июня 2011

Мне очень больно пытаться выяснить, почему КВО сохраняет все наблюдаемые значения.

Сценарий: у меня есть NSMutableArray со слабыми ссылками. (Установите с CFArrayCreateMutable и Callback с NULL для сохранения и освобождения). Значение любого добавленного объекта никогда не сохраняется / освобождается.

У меня есть NSArrayController, наблюдающий значения NSMutableArray.

Но теперь каждый объект NSMutableArray также сохраняется. Почему это происходит и как мне это остановить?

1 Ответ

1 голос
/ 19 июня 2011

Откуда вы знаете, что что-то удерживает эти объекты?Вы не смотрите на -retainCount, не так ли?Если да, не делайте этого.

Если вы прочитаете о способе работы KVO , вы обнаружите, что некоторые объекты создаются за кулисами, когда вы начинаете наблюдать объекты.Вам действительно не нужно знать или думать об этих объектах, чтобы успешно использовать KVO - на самом деле, вы не можете знать , но вам также не следует беспокоиться о том, кто кроме васможет или не может сохранить вещи.

...