0

这段代码在我的应用程序中一直有效到昨天:

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

我继续收到 Cocoa 错误代码 4,即路径中不存在我的文件。我检查了路径,路径是正确的。这段代码停止工作有什么明显的原因吗?我尝试清理,从模拟器或设备中删除我的应用程序并修复了一段时间,但随后它就停止了工作。不太确定还有什么可能导致这个问题。谢谢。

4

1 回答 1

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
于 2012-05-09T17:32:49.937 回答