我正在尝试将文件图标图像添加到xib图像视图中以进行collectionView。我只能使用在xib中更改的动态标签,但是图像根本没有显示。在这里,我们可以看到如何连接出口-文本字段,图像视图到对象标签集合视图项。
最后是代码。我需要的一切都在这部分代码中发生。您可以看到我如何动态更改标签,但是为什么我无法从我不知道的文件路径中获取文件图标。 filesList数组是某个目录中文件/文件夹路径的列表。
func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return filesList.count
}
func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let cell = collectionView.makeItem(withIdentifier: "LabelCollectionViewItem",for: indexPath)
for i in 0..<filesList.count {
let test = filesList[i]
let fileIcon = NSWorkspace.shared().icon(forFile: test.path)
print(test)
cell.textField?.stringValue = "test"
cell.imageView?.image = fileIcon
}
return cell
}
感谢帮助!
答案 0 :(得分:0)
在cell.imageView?.image = fileIcon
行上设置一个断点,然后运行您的项目。
达到断点后,请检查对象的值以查看它们是否为零或是否获得了错误的值。有什么事吗cell.imageView为nil,test.path错误,fileIcon为nil,等等。这也可能是沙箱问题(请参阅控制台以了解违规警告)。
您可以在“变量视图”中检查变量值,也可以在Xcode控制台中在断点处停止时键入类似po fileIcon
的形式。
答案 1 :(得分:0)
我发现了问题。问题是笔尖文件中的imageView不在实际的笔尖可见屏幕之外,因此当我运行该应用程序时它没有出现。感谢您的帮助!