gpt4 book ai didi

macos - NSOpenPanel 选择文件并填充 NSTableView

转载 作者:行者123 更新时间:2023-11-30 14:00:55 26 4
gpt4 key购买 nike

我想知道如何通过首先通过 NSOpenPanel 获取文件来填充 NSTableView。这就像我在运行时从文件夹中选择后列出/显示文件。

编辑:所以我有这种工作(通过绑定(bind))....但是除非我单击表格顶部,否则我无法显示它。如果您打开以获取更多文件,则显示根本不会再次更新。

我觉得这可能是因为controllerArray的Received Action add:没有链接。下面的代码是我现在的代码

@IBAction func openPanel(sender: NSButton) {
let openPanel = NSOpenPanel()
openPanel.allowedFileTypes = ["pdf"]
openPanel.canChooseFiles = true
openPanel.allowsMultipleSelection = false
openPanel.canChooseDirectories = true
openPanel.beginWithCompletionHandler { (result) -> Void in

if result == NSFileHandlingPanelOKButton {
var url:NSURL = openPanel.URL!
var pdfFile: PDFModel = PDFModel()
pdfFile.initWithURL(url)
self.insertFileLibrary(pdfFile, inFileListAtIndex: self.fileLibrary.count)

}
}
}


func insertFileLibrary(pdfModel:PDFModel, inFileListAtIndex index:Int){
fileLibrary.insertObject(pdfModel, atIndex: index)
}

func removeObjectFromFileLibraryAtIndex(index:Int){
fileLibrary.removeObjectAtIndex(index)
}

最佳答案

绑定(bind)使用 KVO,你必须以 KVO 方式改变 fileLibrary,周围是 willChange… 和 didChange…。让 NSArrayContoller 来做这件事更容易。您可以使用NSArrayController的addObject(s)、insertObject(s)和removeObject(s)方法。

关于macos - NSOpenPanel 选择文件并填充 NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33010117/

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