我已经完成了一个项目,这是一种待办事项列表,但是它不起作用。我的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


如您所见,这非常简单。除了tableauEtudiant和NSButton的引用出口外,我没有在IB中进行任何绑定。

问题是:一个月前,我制作了一个类似的程序,可以完美地工作,我在相同的模板上制作了这个程序,但是它不起作用。看来NSMutableArray没有与NSTableView链接(例如ajouterEtudiant中的NSLog效果很好)。

任何想法?

谢谢。

最佳答案

首先猜测:您没有将表的dataSource出口连接到包含您发布的代码的控制器实例。

10-06 10:39