gpt4 book ai didi

objective-c - 如何在 cocoa 中将基于单元格的表格转换为基于 View 的表格?

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

我很难理解如何在 cocoa 中实现基于 View 的表。现在我正在实现老式的基于单元格的表格。正如我所发现的,仅将 NSTableCellView 拖到 NIB 文件中的列上不会使我的 TableView 基于:)

我读完了这篇文章:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/TableViewOverview/TableViewOverview.html

但仍然一无所知......由于某种原因,我的 tableView:viewForTableColumn:row: 方法没有被命中。

有人可以逐步解释如何将基于单元格的表格转换为基于 View 的表格吗?

在我的基于单元格的表格中,我有:

// .h
#import "ObjectClass.h"
#import "ObjectTable.h"

@interface ObjViewController : NSObject <NSTableViewDataSource, NSTableViewDelegate>
{
IBOutlet ObjectTable *objectTable;
NSMutableArray *list;
ObjViewController *current;
}

//.m
#import "ObjViewController.h"

@implementation ObjViewController

-(id)init
{
self = [super init];
if (self)
{
current = self;
list = [[NSMutableArray alloc] init];
}

return self;
}

- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
{
return [list count];
}

-(id) tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row
{
ObjectClass *obj = [list objectAtIndex:row];

NSString *identifier = [tableColumn identifier];

return [obj valueForKey: identifier];
}

// .h
@interface ObjectClass : NSObject
{
}
@property int categoryID;
@property int oID;
@property NSString *name;

@end

谢谢!

最佳答案

方法

tableView:viewForTableColumn:row:

来自 NSTableViewDelegate 协议(protocol),一旦实现将使 NSTableView 成为一个基于 View 的表。从上面的代码来看, View Controller 不符合 NSTableViewDelegate 协议(protocol)。

关于objective-c - 如何在 cocoa 中将基于单元格的表格转换为基于 View 的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819400/

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