[[NSfileManager defaultManager] createDirectoryAtPath:[documentsPath stringByAppendingPathComponent:@"temp"] withIntermediateDirectorIEs:NO attributes:nil error:&error];
Apple的documentation说:
Return ValueYES if the directory was created or already exists or NO if an error occurred.
所以我应该在成功或者文件夹存在时得到YES.但是当文件夹存在时我收到此消息:
Error Domain=NSCocoaErrorDomain Code=516 "The operation Couldn’t be completed. (Cocoa error 516.)" UserInfo=0x200ef5f0 {NSfilePath=/var/mobile/Applications/DA657A0E-785D-49B4-9258-DF9EBAC5D52A/documents/temp,NSUnderlyingError=0x200ef590 "The operation Couldn’t be completed. file exists"}
这是一个错误,应该报告给Apple还是我做错了什么?
解决方法 如果文件存在且不是目录,[NSfileManager createDirectoryAtPath:withIntermediateDirectorIEs:attributes:error:]将失败.所以前进的方法是不打扰创建目录(如果它已经存在)并抛出异常(如果它存在且不是目录):
Nsstring *filename = [documentsPath stringByAppendingPathComponent:@"temp"];NSfileManager *fileman = [NSfileManager defaultManager];BOol isDir = NO;if (![fileman fileExistsAtPath:filename isDirectory:&isDir]){ // Create the directory}else if (!isDir){ NSLog(@"Cannot proceed!"); // Throw exception}总结
以上是内存溢出为你收集整理的NSFileManager的方法createDirectoryAtPath在iOS上返回false结果全部内容,希望文章能够帮你解决NSFileManager的方法createDirectoryAtPath在iOS上返回false结果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)