#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. Спасибо! Это помогло решить мою проблему