Xcode 11, Swift 5.1
Я получаю пару предупреждений каждый раз, когда открываю файл и просматриваю его с помощью QuickLook (QL). Кажется, все работает нормально, но мне интересно, смогу ли я избавиться от предупреждений.
В предупреждениях говорится:
- [QLPreviewPanel setDelegate:] вызывается, пока на панели нет контроллера - Исправьте это, или это скоро появится.
- [QLPreviewPanel setDataSource:] вызывается, когда на панели нет контроллера - Исправьте это, или это скоро будет повышено.
Я установил и использую QL на NSTableCellView
вот так:
import Quartz
class AttachmentCell: NSTableCellView, QLPreviewPanelDataSource, QLPreviewPanelDelegate{
var quickLookItem:URL!
@IBAction func clickPreview(_ sender: Any) {
guard let panel = QLPreviewPanel.shared() else{ return }
panel.delegate = self
panel.dataSource = self
panel.makeKeyAndOrderFront(self)
}
func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int {
return 1
}
func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
quickLookItem = URL(fileURLWithPath: "...").appendingPathExtension(...)
return quickLookItem as QLPreviewItem
}
}
Метод clickPreview
находится на NSButton
, который у меня есть в ячейке таблицы. Ближайшее, что я смог найти, было это, но я не понимаю, как задействована цепочка респондентов: QLPreviewPanel в tableview с проблемой: нет контроллера
Я также попытался вместо этого настроить свои методы делегата на моем NSViewController
, но появилось то же предупреждение.
Есть идеи, как это решить? Или я могу спокойно игнорировать это?
panel.delegate
иpanel.dataSource
из действияclickPreview
и перенесу их в методbeginPreviewPanelControl
, Quick Look больше не сможет найти изображение для предварительного просмотра: d.pr/i/wJtPIb - person Clifton Labrum   schedule 11.10.2019