Kolekcje zerowania słabych referencji w ARC

Jak mogę uzyskać tablicęzerowanie słabych referencji w ARC? Nie chcę, aby tablica zachowywała obiekty. I chciałbym, aby elementy tablicy usunęły się, gdy zostaną zwolnione, lub ustaw te pozycje na zero.

Podobnie, jak mogę to zrobić za pomocą słownika? Nie chcę, aby słownik zachowywał wartości. I znowu, chciałbym, aby elementy słownika usunęły się same, gdy wartości zostaną zwolnione, lub ustaw wartości na zero. (Muszę zachować klucze, które są unikalnymi identyfikatorami, przynajmniej dopóki odpowiednie wartości nie zostaną zwolnione).

Te dwa pytania dotyczą podobnej kwestii:

NSArray słabych odniesień do obiektów w ARCPosiadanie listy nieosiągalnych obiektów id?

Ale nikt o to nie prosizerowanie referencji.

Zgodnie z dokumentacją ani NSPointerArray, ani NSHashMap nie obsługują słabych referencji w ARC. NonretainedObjectValue NSValue również nie będzie działać, ponieważ nie jest zerowane.

Jedyne rozwiązanie, jakie widzę, to tworzeniemój własny Klasa opakowująca NSValue z a(weak) własność, jakta odpowiedź wspomina, pod koniec. Czy jest lepszy sposób, którego nie widzę?

Zajmuję się systemami OS X 10.7 i iOS 6.0.

questionAnswers(8)

yourAnswerToTheQuestion