2012-02-20 87 views
0

嘗試將NSTextView數據導出到RTF文檔。我舊的代碼,主要是來自NSSavePanel的「文件名」被折舊。該文檔聲明「使用URL」。我怎樣才能做到這一點?將NSTextView數據保存到RTF文檔

謝謝。

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]; 

} 

回答

0

正如醫生說,你應該使用的NSSavePanelURL方法。

的代碼將看起來是一樣的,但你會使用NSStringwriteToURL: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,但你可能會給一個有效的對象來獲取錯誤信息。