Swift / macOS: как открыть ODT (открытый формат документа) в текстовом представлении? - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь создать небольшое приложение для просмотра MacOS, которое будет отображать содержимое файлов ODT (Open Document), но не разрешать редактирование, как это делает TextEdit. С помощью интерактивного учебного пособия я собрал средство просмотра RTF, которое включает этот код в Document.swift:

override func read(from data: Data, ofType typeName: String) throws {
     if let contents = NSAttributedString(rtf: data, documentAttributes: nil) {
        text = contents
    }
}

Что я не могу понять, так это как заставить программу читать данные ODT вместо данных RTF, и я не могу найти какую-либо документацию, которая бы мне помогла. Поэтому мой вопрос: как я могу переписать этот код для чтения в файле ODT вместо файла RTF?

1 Ответ

0 голосов
/ 02 июля 2018

Переопределить read(from url: … вместо read(from data: … и использовать NSAttributedString 's init(url:options:documentAttributes:).

override func read(from url: URL, ofType typeName: String) throws {
    text = try NSAttributedString(url: url, options: [:], documentAttributes: nil)
}
...