简体   繁体   English

Swift NSTableView,NSFileManager,尝试将文件名加载到TableView中,并且可选项出现问题

[英]Swift NSTableView, NSFileManager, trying to load file names into TableView, and having problems with optionals

Trying to load contents of a directory into tableview. 尝试将目录的内容加载到tableview中。

Using: NSFileManager and NSTableView. 使用:NSFileManager和NSTableView。

Getting Error Message in the last function: 在最后一个函数中获取错误消息:

'[AnyObject]?' '[AnyObject]? does not have a member named 'subscript' 没有名为“下标”的成员

Do I miss something regarding Optionals? 我是否想念有关Optionals的东西?

Code: 码:

import Cocoa 进口可可

let fileManager = NSFileManager.defaultManager() 让fileManager = NSFileManager.defaultManager()

let folderURL = NSURL.fileURLWithPath("/Applications/") 让folderURL = NSURL.fileURLWithPath(“ / Applications /”)

var error : NSError? var错误:NSError? = nil =无

let folderContents: [AnyObject]? 让folderContents:[AnyObject]? = fileManager.contentsOfDirectoryAtURL(folderURL!, includingPropertiesForKeys:nil, options:NSDirectoryEnumerationOptions(), error:&error) = fileManager.contentsOfDirectoryAtURL(folderURL !, includesPropertiesForKeys:nil,options:NSDirectoryEnumerationOptions(),error:&error)

class tonik: NSObject, NSTableViewDataSource { 类tonik:NSObject,NSTableViewDataSource {

func numberOfRowsInTableView(tableView: NSTableView) -> Int {
 folderContents?.count
}

func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject? {
     folderContents[row]
    }
}

Now it compiles. 现在可以编译了。

I created object in xib file and table view, used the tonik class as datasource for the tableview, now I am getting message: 我在xib文件和表视图中创建了对象,使用tonik类作为表视图的数据源,现在我收到消息:

2015-01-10 07:21:18.420 ac3[6016:143038] *** Illegal NSTableView data source (). 2015-01-10 07:21:18.420 ac3 [6016:143038] ***非法的NSTableView数据源()。 Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row: 必须实现numberOfRowsInTableView:和tableView:objectValueForTableColumn:row:

but both functions are implemented. 但是两个功能都实现了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM