В этом есть много штук, но из того, что я могу сказать, все они необходимы, чтобы воспроизвести проблему.Подкласс NSURL с URL-адресом файла не работает в QuickLook для имен файлов, отличных от ASCII?
Я сделал тривиальный NSURL подкласс, например, так:
class URL2: NSURL { }
Я сделал файл URL с ним:
let f = URL2(fileURLWithPath: "/Users/me/Downloads/ついて.pdf")
Затем я попытался вернуть его из previewPanel(panel:previewItemAtIndex index:)
.
Результат: Я получаю общий значок файла в QLPreviewPanel (но он имеет правильное имя файла).
Любопытно, что если я делать какие-либо из них по-разному, это работает:
- Если я использую обычный
NSURL(fileURLWithPath: "/Users/me/Downloads/ついて.pdf")
, он отображает содержимое файла правильно. - Если я использую только имя файла ASCII, оно отображает содержимое файла правильно.
- Если я делаю что-то еще с URL2 (например, с помощью операции NSFileManager), он находит файл в порядке.
Что я могу делать неправильно, что заставляет QuickLook быть недовольным моим подклассом NSURL в этом случае?
Полезно знать. Но в Swift, прочитав руководство, вы не можете добавлять (не вычисляемые) свойства в расширение. –
Oooh, связанные объекты. Я пропустил эту часть в первый раз. Это идея ... –