gpt4 book ai didi

cocoa - 如何从另一个类重新加载表? - cocoa

转载 作者:行者123 更新时间:2023-12-03 17:14:57 25 4
gpt4 key购买 nike

我已经尝试这样做有一段时间了,我有一个 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];
}

我仍然不明白为什么这不起作用。如果这不是正确的方法,请告诉我。

最佳答案

试试这个

数据源

创建新的实现和接口(interface),继承自NSObject并符合NSTableViewDataSource

Datasource 必须实现三个方法:

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

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

- (void)tableView:(NSTableView *)aTableView
setObjectValue:(id)一个对象
forTableColumn:(NSTableColumn *)aTableColumn
行:(int)rowIndex;

您可以在NSTableViewDataSource Protocol Reference中阅读有关这些方法的信息。

表格 View

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

希望对你有帮助!

关于cocoa - 如何从另一个类重新加载表? - cocoa ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com