2013-08-03 40 views
0

爲什麼不在我的桌面上創建文本文件?錯誤描述是「null」。writeToFile消息不起作用或在設定的路徑中生成文件

NSString* path = @"/Users/amr/Desktop/test5.txt"; 
    NSError* error = nil; 


    NSData* data = [NSData dataWithContentsOfFile:@"hello"]; 
    [data writeToFile:path options:NSDataWritingAtomic error:nil]; 

    NSLog(@"the error is %@",[error localizedDescription]); 

回答

0

變化是 「writeToFile」 行的這一最後一個參數:

[data writeToFile:path options:NSDataWritingAtomic error:&error]; 

而且你可能會看到更多的信息。現在你只傳遞「nil」,而不是指向NSError *對象的指針。

writeToFile:options:error:」也會在成功時返回BOOL YES,並且在失敗時返回NO(也就是說,您可以檢查傳入的錯誤參數中返回的內容)。

另外,爲什麼你要通過模擬器寫入「/Users/amr/」? (你用「iOS」標籤標記了這個問題)

+0

感謝您的幫助。我確實改變了它,它仍然記錄着相同的結果。至於標籤,我錯了,對不起。 – user2621074

+1

另一個問題是您的NSData對象可能是「'nil'」,因爲您的應用程序正在查找名爲「'hello'」的文件,並且您沒有指定名爲「'hello'」的文件的路徑。 –

+0

哦是的! ,現在我改變了它的路徑,其中包含我的文本,它確實在我的桌面上創建了「test5.txt」。許多人再次感謝! – user2621074