У меня есть NSMutableArray
, в котором хранятся соединения мыши для моделирования физики Box2d. При использовании более чем одного пальца для воспроизведения я получаю исключения, заявляющие
NSArray был изменен во время перечисления
Я знаю, что это происходит потому, что я удаляю объекты из массива, а также перечисляю его, делая перечисление недействительным.
Что я хочу знать, так это то, какова наилучшая стратегия для решения этой проблемы в будущем? Я видел несколько решений в Интернете: @synchronized
, копирование массива перед перечислением или помещение сенсорного соединения в массив мусора для последующего удаления (что, я не уверен, сработает, потому что мне нужно удалить mousejoint из массива сразу после его удаления из мира).