Я не вижу, где определяется _cookies, но я думаю, мы можем предположить, что это NSMutableArray.Они не являются поточно-ориентированными, поэтому, если у вас есть несколько потоков, считывающих и добавляющих объекты в этот массив одновременно, это проблема.
Существуют различные способы решения этой проблемы.Один из вариантов - создать последовательную очередь, которой принадлежит этот массив.В процессе обработки каждый раз, когда вам нужно проверить (и при необходимости добавить) файл cookie, запланируйте небольшой блок в этой очереди, чтобы выполнить эту работу.Таким образом, вы можете убедиться, что эти операции чтения и добавления являются строго последовательными.
Есть и другие идеи для этого, конечно.
Но затем сделайте шаг назад, как только вы представите этот танец, чтобы сохранитьЕсли вы не будете обходить все эти _cookies, вы можете найти или не найти это наиболее эффективную реализацию.Вам нужно будет проверить это с вашими фактическими данными.
Кроме того, почему здесь NSOperation?Так как вы все равно ждете результатов, почему бы просто не запустить перечисление в главной очереди, а затем дать ему развернуться оттуда?(Я могу что-то упустить)