Como adicionar um objeto ativo ao NSMutableArray e removê-lo quando ele for lançado?

Tenho a classe Item e a classe List (que possui um NSMutableArray

Cada vez que o item da classe é instanciado (e destruído), ele lança uma notificação, que é ouvida pela classe List. Quando a classe List recebe a notificação, adiciona a instância da classe Item à sua list

Estou tentando fazer com que a classe Item também publique uma notificação de que está prestes a ser desalocada. O problema é que o NSMutableArray da lista da classe mantém a instância da classe Item.

Qual é o meio mais apropriado de lidar com essa situação? Se eu decrementar a contagem ao adicioná-la à matriz da List, uma exceção será lançada quando a classe List tentar chamar removeObject (já que ela tentará desalocar o objeto.)

Basicamente, eu quero uma lista de classe "monitor" que contenha uma lista de todas as instâncias "ao vivo" do Item. Mas também preciso liberar / desalocar as instâncias e pedir que elas relatem que estão sendo desalocadas para que a List possa removê-las do NSMutableArra

Obrigado pela ajuda

questionAnswers(2)

yourAnswerToTheQuestion