Как добавить текст в начало экземпляра NSTextView? - PullRequest
0 голосов
/ 12 ноября 2018

В моем приложении macOS NSTextView показывает некоторые журналы. Когда создается журнал, я использую NSTextView.textStorage.append(NSAttributedString), чтобы добавить его в конец представления с символом новой строки.

(1) Я не уверен, что знаю, как добавить журнал в начало просмотра.

(2) Мне кажется, что каждый журнал должен быть отдельным элементом, а не строкой с символом новой строки. Должен ли я использовать другие способы для создания этого представления журнала?

class LogView: NSTextView {

    func log(text: String) {
        DispatchQueue.main.async {
            self.textStorage?.append(NSAttributedString(string: "\(text)\n", attributes: [NSAttributedStringKey.foregroundColor: NSColor.white]))
        }
    }
}

1 Ответ

0 голосов
/ 12 ноября 2018

textStorage наследуется от NSAttributedString, а если есть append, то есть также insert(at:)

class LogView: NSTextView {

    func log(text: String) {
        DispatchQueue.main.async {
            self.textStorage?.insert(NSAttributedString(string: "\(text)\n", attributes: [NSAttributedStringKey.foregroundColor: NSColor.white]), at: 0)
        }
    }
}
...