#import "JTZerothsController.h" #define foreach(element, collection) for(id element, foreach_ ## element ## _enumerator = [collection objectEnumerator]; element = [foreach_ ## element ## _enumerator nextObject];) @implementation JTZerothsController - (void)awakeFromNib { zeroths = [[NSArray array] retain]; } - (void)createZerothsArrayWithHighscores:(NSMutableArray *)highscores { NSMutableArray *newZeroths = [NSMutableArray array]; foreach (episode, highscores) { foreach (level, episode) { if ([episode indexOfObject:level] < 5 || ([episode indexOfObject:level] == 5 && includeEpisodeZeroths)) { [newZeroths addObject:[level objectAtIndex:0]]; } } } //NSLog(@"%@", newZeroths); [zeroths release]; zeroths = newZeroths; [zeroths retain]; NSLog(@"created %@", self); //NSLog(@"%@", zeroths); } - (IBAction)toggleIncludeEpisodeZeroths:(id)sender { includeEpisodeZeroths = [sender state]; [zerothsTable reloadData]; } - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { if ([[aTableColumn identifier] isEqualToString:@"rank"]) { return [NSNumber numberWithInt:rowIndex]; } else { } return @"ERROR"; } - (int)numberOfRowsInTableView:(NSTableView *)aTableView { //NSLog(@"queried, len = %d", [zeroths count]); NSLog(@"numrows %@", self); return [zeroths count]; } - (void)dealloc { [zeroths release]; [super dealloc]; } @end