Избегайте копирования NSMutableArray для чтения с многопоточными записями
У меня есть класс, который использует изменяемый массив, который изменяется один раз после большого количества чтений (прибывают новые элементы).
Проблема в том, что, когда приходит время изменять массив, чтение продолжается.
В настоящее время, чтобы избежать этой проблемы, каждый раз, когда он читает что-то, он делает это поверх копии:
[[theArray copy] operation] //operation being indexOfObject:, objectAtIndex: objectsAtIndexes:, etc.
Копия становится действительно дорогой, особенно когда в этом нет необходимости (все это время, когда массив не видоизменяется).
Как я могу заблокировать массив, чтобы задержать доступ к нему, когда его мутируют?