2011-02-05 98 views
0

我在NSMutableArray数据,我想在NSTableView来显示它,但只的cols的数量发生了变化。 NSTableView的使用基于教程here。 FinalImageBrowser是IBOutletNSTableViewNSTableView的不显示数据

@implementation AppController 

NSMutableArray *listData; 


- (void)awakeFromNib { 
    [FinalImageBrowser setDataSource:self]; 
} 

- (IBAction)StartReconstruction:(id)sender 
{ 
    NSMutableArray *ArrayOfFinals = [[NSMutableArray alloc] init]; //Array of list with final images 
    NSString *FinalPicture; 
    NSString *PicNum; 
    int FromLine = [TextFieldFrom intValue]; //read number of start line 
    int ToLine = [TextFieldTo intValue];  //read number of finish line 
    int RecLine; 

    for (RecLine = FromLine; RecLine < ToLine; RecLine++) //reconstruct from line to line 
    { 
     Start(RecLine); //start reconstruction 
       //Create path of final image 
     FinalPicture = @"FIN/final"; 
     PicNum = [NSString stringWithFormat: @"%d", RecLine]; 
     FinalPicture = [FinalPicture stringByAppendingString:PicNum]; 
     FinalPicture = [FinalPicture stringByAppendingString:@".bmp"]; 
     [ArrayOfFinals addObject:FinalPicture]; // add path to array 

    } 


    listData = [[NSMutableArray alloc] init]; 
    [listData autorelease]; 

    [listData addObjectsFromArray:ArrayOfFinals]; 

    [FinalImageBrowser reloadData]; 

    NSBeep(); //make some noise 

    NSImage *fin = [[NSImage alloc] initWithContentsOfFile:FinalPicture]; 
    [FinalImage setImage:fin]; 

} 


- (int)numberOfRowsInTableView:(NSTableView *)tv { 
    return [listData count]; 
} 

- (id)tableView:(NSTableView *)tv objectValueFromTableColumn:(NSTableColumn *)tableColumn row:(int)row { 
    return (NSString *)[listData objectAtIndex:row]; 
} 

@end 

当StartReconstruction结束cols的数目已经改变了,但它们是空的。当我调试应用程序时,listData中的项目是可行的。

+0

你听说过“调试”吗?这是当你在你的程序中的不同位置插入日志语句,并查看它们是否到达并返回了正确的数据。在你的代码中试试这个。 – 2011-02-05 23:37:47

回答

0

我猜你忘了FinalImageBrowser插座连接到表视图。这意味着你的setDataSource:消息是nil,这将离开没有数据源的表视图。

你并不需要向其发送邮件无论如何,你可以设置在笔尖的数据源。删除您awakeFromNib实施和表视图的dataSource插座连接到IB的数据源对象,还有FinalImageBrowser出口到表视图(也IB)。