Номер один с пулей - вы не сохраняете internalArray
после его создания. Используйте одно из:
internalArray = [[NSMutableArray] alloc] init];
internalArray = [[NSMutableArray array] retain];
вместо того, что у вас есть:
internalArray = [NSMutableArray array];
Кроме того, я думаю, что вы, вероятно, не хотите %@
для формата в этом методе:
-(int)numberOfRowsInTableView:(NSTableView *)aTableView{
NSLog(@"%@", [internalArray count]);
return [internalArray count];
}
Этот код, конечно, (ну, часто) вызывает сбой при выполнении [tableView reloadData]
.
В applicationDidFinishLaunching:
вам не нужно вызывать reloadData
каждый раз, когда вы добавляете объект в internalArray
. Просто сделайте это один раз в конце этого цикла.
Ваша реализация setObjectValue:forTableColumn:row:
также не имеет смысла. Это должно выглядеть примерно так:
-(void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
{
NSLog(@"%@", anObject);
[internalArray replaceObjectAtIndex:rowIndex withObject:anObject];
}
Надеюсь, это некоторые идеи, с которых можно начать.