Сохранение NSTextViewData в документ RTF - PullRequest
0 голосов
/ 20 февраля 2012

Попытка экспортировать данные NSTextView в документ RTF. Мой старый код, в основном «имя файла» из NSSavePanel, устарел. В документе указано «использовать URL». Как я могу это сделать?

Спасибо.

NSSavePanel *panel = [NSSavePanel savePanel];

[panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
if ([panel runModal] == NSOKButton){


[[textView RTFFromRange:
      NSMakeRange(0, [[textView string] length])] 
     writeToFile:[panel filename] atomically:YES];

}

1 Ответ

0 голосов
/ 20 февраля 2012

Как сказано в документе, вы должны использовать URL метод NSSavePanel.

Код будет выглядеть так же, но вместо этого вы будете использовать метод NSString writeToURL:atomically:encoding:error::

NSSavePanel *panel = [NSSavePanel savePanel];

[panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
if ([panel runModal] == NSOKButton){
    [[textView RTFFromRange:NSMakeRange(0, [[textView string] length])] writeToURL:[panel URL] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}

Обратите внимание на два параметра для указания кодировки (здесь я установил UTF-8) и объект ошибки. Я даю NULL здесь, но вы могли бы дать действительный объект для получения информации об ошибке.

...