【问题标题】:displaying data in nstableview from a directory在 nstableview 中显示目录中的数据
【发布时间】: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: 代替。这在文档中很容易找到——如果您输入一个已弃用的方法的名称并转到该链接,它通常会说明要使用哪个替代方法。

标签: cocoa nstableview nsfilemanager


【解决方案1】:

为避免弃用警告,您可以使用

[[NSFileManager defaultManager] contentsOfDirectoryAtPath: error:nil]

而不是

[[NSFileManager defaultManager]directoryContentsAtPath:@"/"]

另外,你的方法有错别字(tableView,不是 tableWiew)

-(id)tableWiew:(NSTableView *)uploadTable objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多