Я создал проект, который является своего рода списком Todo, но он не работает. Мой tableView имеет синий ореол, но ничего не появляется.
Вот код TPRendu.h:
@interface TPRendu : NSObject
{
IBOutlet NSButton *boutonAjouter;
IBOutlet NSTableView *tableauEtudiant;
NSMutableArray *sourceTable;
}
-(IBAction)ajouterEtudiant:(id)sender;
@end
и код TPRendu.m:
#import "TPRendu.h"
@implementation TPRendu
-(id)init
{
[super init];
NSLog(@"init");
//init du tableau
sourceTable = [[NSMutableArray alloc] init];
return self;
}
-(IBAction)ajouterEtudiant:(id)sender
{
[sourceTable addObject:@"test"];
[tableauEtudiant reloadData];
NSLog(@"Nombre éléments ajoutés: %d",[sourceTable count]);
}
-(NSInteger)numberOfRowsInTableView:(NSTableView *)tv
{
return [sourceTable count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tc row:(NSInteger)rowIndex
{
return [sourceTable objectAtIndex:rowIndex];
}
- (void)tableView:(NSTableView *)tableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)tc row:(NSInteger)rowIndex
{
[sourceTable replaceObjectAtIndex:rowIndex withObject:anObject];
}
@end
Как видите, все очень просто. Я не делал никаких привязок в IB, кроме выхода ссылок для tableauEtudiant и NSButton.
Дело в том, что месяц назад я сделал похожую программу, которая работает безупречно, я сделал это по тому же шаблону, и она не работает. Кажется, что NSMutableArray не связан с NSTableView (NSLog в ajouterEtudiant работает хорошо, например).
Есть мысли?
Спасибо.