EnumerateUsingBlock: поток безопасно?

EnumerateUsingBlock: поток безопасно? Я имею в виду, можно ли изменить NSMutableArray при перечислении его с помощью enumerateUsingBlock в другом потоке?

Как насчет enumerateObjectsWithOptions:usingBlock: при использовании опции NSEnumerationConcurrent?

1 ответ

Решение

Нет. NSMutableArray никогда не является поточно-ориентированным. Все перечисления предполагают, что коллекция остается неизменной, включая NSEnumerationConcurrent, Если вы измените коллекцию во время перечисления, даже из того же потока, возникнет исключение.

Другие вопросы по тегам