2012-05-09 64 views
0

文件這段代碼在我的應用程序一直工作,直到昨天:無法創建使用stringByAppendingPathComponent

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *applicationDocDirectory = [paths objectAtIndex:0]; 
     NSLog(@"%@", applicationDocDirectory); 
     NSString *tempFilePath = [applicationDocDirectory stringByAppendingPathComponent:@"temp.txt"]; 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    BOOL success = [fileManager fileExistsAtPath:tempFilePath]; 

我繼續得到可可錯誤代碼4,我的文件不會在路徑中。我檢查了路徑,路徑是正確的。這段代碼停止工作有什麼明顯的原因嗎?我嘗試清理,從模擬器或設備刪除我的應用程序,並修復它一段時間,但它只是停止工作。不知道還有什麼可能導致這個問題。謝謝。

回答

1

您無法使用-stringByAppendingPathComponent創建文件。這會創建一個自動發佈的NSString對象。

如果這一直工作,那麼「temp.txt」必須已經存在。

要創建文件,你可以使用:

- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attributes 

要創建一個NSString一個文件,你可以使用:

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error