NSTableView 与 plist 文件

发布于 2024-12-04 09:02:11 字数 1008 浏览 0 评论 0原文

我对 mac 应用程序开发非常陌生。所以只是做一些实际练习。

我想创建一个表格视图来显示我的 plist 文件中的数据。
我有一个窗口控制器类和窗口控制器.xib 文件。
我将 NSTableView 拖放到 .xib 文件中。
并使用此代码加载 plist 文件

- (void)windowDidLoad
{
    [super windowDidLoad];

    NSBundle *bundle = [NSBundle mainBundle];
    NSString *path = [bundle pathForResource:@"tenth" ofType:@"plist"];
    file = [[NSArray alloc] initWithContentsOfFile:path];

}

现在我应该做什么来在我的表视图中显示行?
我必须使用哪种方法?又如何?

就像我们在IOS开发中使用的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

NSArray *temp = [file objectAtIndex:indexPath.row];
cell.textLabel.text = [temp objectAtIndex:0];
return cell;
}

I am very new to mac app development. so just doing some practical exercise.

I want to create a tableview which display data from my plist file.
I have one windowcontroller class and window controller.xib file.
I drag and drop NSTableView to the .xib file.
and using this code to load plist file

- (void)windowDidLoad
{
    [super windowDidLoad];

    NSBundle *bundle = [NSBundle mainBundle];
    NSString *path = [bundle pathForResource:@"tenth" ofType:@"plist"];
    file = [[NSArray alloc] initWithContentsOfFile:path];

}

Now what should i do for displaying rows in my tableview??
Which method i have to use? and how??

like in IOS development we are using

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

NSArray *temp = [file objectAtIndex:indexPath.row];
cell.textLabel.text = [temp objectAtIndex:0];
return cell;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌酱 2024-12-11 09:02:11

您可以使用 绑定 带有 NSArrayController实现 NSTableViewDataSource协议

推荐阅读:表格视图编程指南

You can use either bindings with an NSArrayController or implement the NSTableViewDataSource protocol.

Recommended reading: Table View Programming Guide.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文