Combine dos matrices mientras conserva el orden de matriz original

Escribí una aplicación que solicita datos de una fuente externa (Twitter), que se devuelve como una matriz ordenada en orden cronológico:

Matriz externa

Artículo A (más reciente)Artículo BItem C Artículo D (el más antiguo)

Agrego estos elementos a otra matriz conservando el mismo orden:

Mi matriz

Artículo A (más reciente)Artículo BItem C Artículo D (el más antiguo)

Luego consulto la fuente externa nuevamente y recibo otra matriz de elementos nuevos, se ve así:

Nueva matriz externa

Artículo E (más reciente)Item FArtículo GArtículo H

Los agrego a mi matriz y obtengo esto:

Mi matriz

Artículo AArtículo BItem C Artículo D (el más antiguo) Artículo E (más reciente)Item FArtículo GArtículo H

El problema es que los datos de la matriz externa se ordenan cronológicamente con el elemento más nuevo originalmente que era A, ya que al hacer una actualización que ahora es E. Entonces puede ver que el orden de la matriz ahora está mal, lo que necesito es:

Mi matriz

Artículo E (más reciente)Item FArtículo GArtículo H Artículo AArtículo BItem C Artículo D (el más antiguo)

Mi código actualmente se ve más o menos así:

NSMutableArray *myArray = [[NSMutableArray alloc] init]; 
...
- (void)getDataFromExternalSource:(NSArray *)externalArray
{
for(NSDictionary *item in externalArray) {

    // Need loop so I can do some extra stuff here with each item object (not shown in this example.)
    [myArray addObject: item];
}   
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta