Last active
August 29, 2015 14:00
-
-
Save Broich/11041839 to your computer and use it in GitHub Desktop.
I wonder if the operation addObjectsFromArray happens in constant time
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (void)createWallOfFame:(NSArray *)newWallOfFameMembers | |
{ | |
NSLog(@"add %i new member(s) into wall of fame", (int)newWallOfFameMembers.count); | |
NSMutableArray *currentMembers = [NSMutableArray arrayWithArray:self.members]; | |
if (currentMembers.count > 0) { // only if members are available there is a reason to delete them an the end | |
NSRange rangeForMembersToDelete = NSMakeRange(currentMembers.count-newWallOfFameMembers.count, newWallOfFameMembers.count); | |
NSLog(@"delete members from position: %d with length: %d", (int)rangeForMembersToDelete.location, (int)rangeForMembersToDelete.length); | |
[currentMembers removeObjectsInRange:rangeForMembersToDelete]; | |
} | |
NSMutableArray *newMembers = [NSMutableArray array]; // create a new array and insert the new members at the beginning. | |
for (NSDictionary *dict in newWallOfFameMembers) { | |
BKErsteReiheMember *ersteReiheMember = [[BKErsteReiheMember alloc] initWithUserInformation:dict]; | |
[newMembers addObject:ersteReiheMember]; | |
} | |
if (newMembers.count < [kMaxWallOfFameMembers integerValue]) { // Afterwards add the old entries behind the last new member | |
[newMembers addObjectsFromArray:currentMembers]; | |
} | |
self.members = newMembers; | |
[self saveMembers]; | |
NSLog(@"number of members in wall of fame: %d", (int)self.members.count); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment