在 nstableview 中显示目录中的数据
Posted
技术标签:
【中文标题】在 nstableview 中显示目录中的数据【英文标题】:displaying data in nstableview from a directory 【发布时间】:2012-08-08 12:39:40 【问题描述】:我想在表格视图中显示 fileNames 、 types 、 size ...。 我试图显示文件名。表格视图由数据填充,但未显示。 显示警告:'directoryContectsAtPath:' 已弃用。 这是代码(.m 文件)。 请帮忙
@implementation TableController
-(void) awakeFromNib
[uploadTable setDataSource:self];
-(IBAction)showFiles:(id)sender
[fileNames removeAllObjects];
[fileNames autorelease];
fileNames = [[NSMutableArray alloc] initWithArray:[[[NSFileManager defaultManager]directoryContentsAtPath:@"/"]retain]];
[uploadTable reloadData];
-(int)numberOfRowsInTableView:(NSTableView *)uploadTable
return [fileNames count];
-(id)tableWiew:(NSTableView *)uploadTable objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
return [[fileNames objectAtIndex:row] stringValue];
@end
【问题讨论】:
使用 contentsOfDirectoryAtPath:error: 代替。这在文档中很容易找到——如果您输入一个已弃用的方法的名称并转到该链接,它通常会说明要使用哪个替代方法。 【参考方案1】:为避免弃用警告,您可以使用
[[NSFileManager defaultManager] contentsOfDirectoryAtPath: error:nil]
而不是
[[NSFileManager defaultManager]directoryContentsAtPath:@"/"]
另外,你的方法有错别字(tableView,不是 tableWiew)
-(id)tableWiew:(NSTableView *)uploadTable objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
【讨论】:
以上是关于在 nstableview 中显示目录中的数据的主要内容,如果未能解决你的问题,请参考以下文章
在 NSTableView 中显示来自 NSArray 的数据
NSArrayController NSTableView 核心数据绑定整数
将 NSArray 与 NSArrayController 绑定并在 NSTableView 中显示结果