![](/img/trans.png)
[英]Implementation of NSURL/File QuickLook Preview & NSURL/File dragging
[英]NSURL subclass, with file URL, doesn't work in QuickLook, for non-ASCII filenames?
这有很多方面,但据我所知,它们都是重现问题的必要条件。
我做了一个琐碎的NSURL子类,如下所示:
class URL2: NSURL { }
我用它制作了一个文件URL:
let f = URL2(fileURLWithPath: "/Users/me/Downloads/ついて.pdf")
然后,我尝试从previewPanel(panel:previewItemAtIndex index:)
返回它。
结果:我在QLPreviewPanel中得到一个通用文件图标(但是它具有正确的文件名)。
奇怪的是,如果我以不同的方式进行操作,那么它会起作用:
NSURL(fileURLWithPath: "/Users/me/Downloads/ついて.pdf")
,它将正确显示文件内容。 在这种情况下,我会怎么做而导致QuickLook对我的NSURL子类不满意?
子类化NSURL(或NSURLRequest)通常是疯狂的途径,这在很大程度上(我认为)要感谢OSX的各个部分中对NSXPC的大量使用。
我建议改为使用带有关联对象的类别。 这样可以避免遇到极端情况,同时仍然允许您向NSURL对象添加自定义方法和属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.