iPhone uso de mutexes com solicitações de URL assíncronas

@My iPhone client tem muito envolvimento com solicitações assíncronas, muitas vezes modificando consistentemente coleções estáticas de dicionários ou matrizes. Como resultado, é comum ver estruturas de dados maiores que demoram mais para serem recuperadas de um servidor com os seguintes erros:

*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <NSCFArray: 0x3777c0> was mutated while being enumerated.'

Isso normalmente significa que duas solicitações ao servidor retornam com dados que estão tentando modificar a mesma coleção. O que estou procurando é um tutorial / exemplo / entendimento de como estruturar corretamente meu código para evitar esse erro prejudicial. Acredito que a resposta correta sejam mutexes, mas nunca os usei pessoalmente aind

Este é o resultado de fazer solicitações HTTP assíncronas com NSURLConnection e usar o NSNotification Center como um meio de delegação quando as solicitações forem concluídas. Ao disparar solicitações que modificam os mesmos conjuntos de coleta, obtemos essas colisões.

questionAnswers(6)

yourAnswerToTheQuestion