I\'ve writing an application that requests data from an external source (Twitter), which is returned as an ordered array in chronological order:
External array
You should use the array as a stack, so the old items get pushed below the newer ones. You could achieve that by adding every element at the last position using [myArray addObject:newObject];
. You will have to iterate backwards in the original array in order to insert them from oldest to newest. You can achieve that by doing :
for(NSUInteger index = [newArray count] - 1; i == 0; i--)
{
NSDictionary*object = [newArray objectAtIndex:index];
[myArray addObject:object];
}
This way you will get the array you need
Cheers
Just use the new array as the first array and add the old items after.
NSMutableArray *newArray = [NSMutableArray arrayWithCapacity:externalArray.count + myArray.count];
for(NSDictionary *item in externalArray) {
// Need loop so I can do some extra stuff here with each item object (not shown in this example.)
[newArray addObject: item];
}
[newArray addObjectsFromArray:myArray];
NSArray *newArray = [externalArray arrayByAddingObjectsFromArray:myArray];
[myArray release];
myArray = [newArray mutableCopy];
Any reason not to do this?