2012-03-04 47 views
1

我一直在尝试做一段时间,我有一个tableViewController类和我的AppDelegate类和tableViewController类是表的数据源显然。但我希望表在启动时加载,我无法找到任何其他方式来完成此操作,而不是从AppDelegate中的applicationDidFinishLaunching方法中的tableViewController类调用表加载方法。但这似乎不起作用。没有任何反应,只是一张空白的桌子如何从另一个类重新加载表? - 可可

这是从tableViewController加载方法:

-(void)loadTable { 
NSString* path = [@"~/" stringByExpandingTildeInPath]; 
self.list = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil]; 
[tableView reloadData]; 
} 

而这正是我从AppDelegate中

#import "tableViewController.h" 
//other code 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    tableViewController *tableClass = [[tableViewController alloc] init]; 
    [tableClass loadTable]; 
} 

调用它我还是想不通为什么这个ISN”不工作。如果这不是正确的方法,请告诉我。

+0

看起来像一个长期的关系*大声笑* 你用什么作为你的表的数据?数组?数据库?核心数据?如果数据池中没有任何非标准对象,则后者将是最方便的。 对于基本表的东西,尝试: http://www.cocoa-coding.de/todo/todo.html 不幸的是,一个是在德国,但看着代码和图片可能给你一些方向。 核心数据,请给这篇文章试试: http://cocoadevcentral.com/articles/000085.php 一般来说:得到更详细的,我们可以帮助! 干杯, 生活 – 2012-03-04 13:15:22

+0

好吧,现在我使用NSTableViewDataSource协议,tableViewController类是表视图的数据源。但我似乎无法从另一个类调用重载方法,它只是不起作用。 – drewsdunne 2012-03-04 17:55:53

回答

1

试试这个

数据源

创建新的实现&接口,从NSObject继承并符合NSTableViewDataSource

Datasource必须实现三个方法:

- (int)numberOfRowsInTableView:(NSTableView *)aTableView;

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;

- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;

您可以在NSTableViewDataSource Protocol Reference了解这些方法

的TableView

- (void)awakeFromNib方法来设置数据源[self setDataSource:datasource];并重新加载表数据[self reloadData];

我希望它会帮助你!

+0

玉以及我已经使用在tableViewController类这些方法,但我不能从AppDelegate中重新装入所以... – drewsdunne 2012-03-04 17:54:07

相关问题