Unikaj kopiowania NSMutableArray do odczytu z zapisami wielowątkowymi

Mam klasę, która używa zmiennej tablicy, która jest modyfikowana raz po wielu odczytach (pojawiają się nowe elementy).

Problem polega na tym, że gdy nadchodzi czas na zmutowanie tablicy, odczytuje się dalej.

Obecnie, aby uniknąć tego problemu za każdym razem, gdy coś czyta, robi to na kopii:

[[theArray copy] operation] //operation being indexOfObject:, objectAtIndex: objectsAtIndexes:, etc.

Kopia staje się bardzo droga, zwłaszcza gdy nie ma takiej potrzeby (wszystkie te czasy, gdy tablica nie jest zmutowana).

Jak mogę zablokować tablicę, aby opóźnić dostęp do niej, gdy jest mutowana?

questionAnswers(3)

yourAnswerToTheQuestion