Запись NSTextStorage в файл

#swift #xcode #macos #cocoa

#swift #xcode #macos #cocoa

Вопрос:

Я создаю приложение, в котором мне нужно взять текст из текстового поля и вывести его в файл. Проблема, с которой я столкнулся при попытке записать textStorage в файл, потому что это должна быть строка. Ошибка, которую я получаю, заключается в том, что «Значение типа ‘NSTextStorage’ не имеет элемента ‘write'»

Я попытался преобразовать строку в новую строку, но не смог ее вычислить.

 if let textView = TextField.documentView as? NSTextView {
     let result: NSTextStorage = textView.textStorage!

     try! result.write(toFile: "/Desktop", atomically: false, encoding: String.Encoding.utf8)
}
  

Комментарии:

1. Но у NSTextStorage есть string .

Ответ №1:

Вы можете получить доступ к строковому содержимому NSTextStorage через элемент string . Это значение равно a, String поэтому вам нужно преобразовать его в a NSString , чтобы вызвать вызываемую вами функцию записи.

 let nsstring = result.string as NSString
try! nsstring.write(toFile: "/Desktop", atomically: false, encoding: String.Encoding.utf8)
  

Конечно, вы могли бы использовать String эквивалент write<Target>(to target: inout Target) вместо этого.

Комментарии:

1. Вам определенно не нужно конвертировать его в NSString

2. Спасибо! Это помогло решить мою проблему