我注意到,使用節能內的iOS應用程序從文件時:
writeToFile:myFile atomically:YES
導入文本文件轉換成iOS應用
生成的文件實際上是XML格式保存,始終具有下面的代碼:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Sentence 1</string>
<string>Sentence 2</string>
<string>Sentence 3</string>
<string>Sentence 4</string>
</array>
</plist>
所以它總是以XML /的plist格式。
但是,如果我嘗試將一個文本文件導入到應用程序中,該文件不是從創建的,而是在iOS應用程序的中創建的 - 它似乎不知道如何識別它。
例如,如果我走在TextEdit中創建一個純文本文件,並將其拖到我的應用程序的文檔文件夾,然後再次運行該應用程序,該應用程序看到這個新的文件,但是當我嘗試使用加載的內容: initWithContentsOfFile:myFile
結果我得到的是:(null)
這是因爲在TextEdit中創建的文件的默認格式是「的.rtf」?或者我應該使用完全不同的方法將純文本文件讀入應用程序,而不是 initWithContentsOfFile:myFile
?
最終,我希望應用程序能夠加載現有的文本文件 - 甚至可能是Microsoft WORD文件 - 並與它們一起工作。我希望用戶將其現有文件拖放到iTunes的應用程序文件夾中,然後將其設備與iTunes同步 - 然後將這些新文件複製到設備上,當他們再次運行應用程序時,應用程序將看到新文件並能夠打開它們並閱讀它們的內容。
有什麼建議嗎?
好的,我不知道其他類也有'writeToFile:atomically:'方法 - 或者'initWithContentsOfFile'方法。很高興知道:-)你說得對:我正在使用NSArray的保存方法。就在我試着用NSString的'initWithContentsOfFile'方法閱讀一個在TextEdit中創建的純文本文件 - 並且它工作了(這意味着我沒有得到'(null)') - 這很好。接下來,我嘗試閱讀使用TextEdit創建的* RTF *文件,除此之外,我還收到了很多垃圾字符,例如:{{rtf1 \ ansi \ ansicpg1252 \ cocoartf1187 \ cocoasubrtf390' - 任何想法如何擺脫這些? – sirab333
那些不是垃圾字符 - 那些是RTF代碼。請參閱http://en.wikipedia.org/wiki/Rich_Text_Format – Marplesoft
是的,我知道它們不是垃圾郵件 - 我知道RTF是什麼 - 這就是爲什麼我特別試圖在第一個應用程序中測試加載這樣的文件看看它是如何處理它的所有格式化代碼/字符(「垃圾」:-)) - 這導致我重複這個問題:你知道如何去除那些字符或者將rtf文件轉換爲純文本文件 - 在運行時,在運行時?它甚至有可能嗎? – sirab333