2010-04-27 29 views
1

我一直在閱讀很多iPhone讀/寫,我相信我擁有的所有東西都是正確的,但由於某種原因,它沒有按照應有的方式工作。iPhone模擬器 - 寫入文件/讀取問題

代碼如下

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *filePath = [docsDirectory stringByAppendingFormat:@"filename.rtf"]; 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
if (![fileManager fileExistsAtPath:filePath]) 

我走進了我在做應用程序的文件夾iPhone模擬器文件文件夾,並補充說,文件到它作爲一種安全措施,它仍然沒有觸發if語句。所以出於某種原因,它沒有發現它使我所有的寫作和閱讀變得不可能。我什至嘗試使用FileManager的createFile函數,並沒有得到任何結果。如果我需要發佈更多的代碼讓我知道,但我想如果以上所有都是正確的,它應該找到正確的文件。提前致謝。

更新:修正。熱鬧簡單的錯誤。感謝大家。

回答

0

您是否嘗試過使用stringByAppendingPathComponent:而不是stringByAppendingFormat:。如果docsDirectory不包含結尾斜槓,則實際上將創建一個名爲/PATH/TO/Documentsfilename.rtf而非/PATH/TO/Documents/filename.rtf的文件。

3

NSSearchPathForDirectoriesInDomains返回的NSString沒有結尾斜槓,因此您構建的路徑不正確。將文件名追加到使用stringByAppendingPathComponent,這將正確處理路徑分隔符。

要創建的文件路徑,嘗試:

NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"]; 
+0

噢,我的上帝,這是令人難以置信的。大聲笑非常感謝。 – Robert 2010-04-27 22:24:27