nsfilemanager createFileAtPath 导致 NSFileCreationDate 为空
Posted
技术标签:
【中文标题】nsfilemanager createFileAtPath 导致 NSFileCreationDate 为空【英文标题】:nsfilemanager createFileAtPath results in NSFileCreationDate being null 【发布时间】:2013-10-28 17:07:55 【问题描述】:我正在从 json 对象创建图像文件,文件创建成功,图像确实创建并可以显示。我想要一个在下载图像之前检查文件是否仍在缓存或 tmp 目录中的进程。如果图像确实存在,那么我想检查文件的创建日期和修改日期属性,以查看是否需要下载图像的新版本以使其保持最新。这就是问题所在。
创建和修改日期属性为null
。我什至尝试手动设置属性,但并没有改变任何东西。
这是我用来创建文件的代码:
NSString *fileName = [NSHomeDirectory() stringByAppendingPathComponent: [NSString stringWithFormat:@"tmp/%@",theFileName]];
BOOL filecreationSuccess =[fileManager createFileAtPath:fileName contents:myData attributes:nil];
if(filecreationSuccess == NO)
NSLog(@"Failed to create the file");
我什至尝试添加代码并且文件上的属性仍然是null
:
NSDate *now = [NSDate date];
NSDictionary *createDateAttr = [NSDictionary dictionaryWithObjectsAndKeys: now, NSFileCreationDate,nil];
NSDictionary *modDateAttr = [NSDictionary dictionaryWithObjectsAndKeys: now, NSFileModificationDate, nil];
[fileManager setAttributes:modDateAttr ofItemAtPath:fileName error:&err];
[fileManager setAttributes:createDateAttr ofItemAtPath:fileName error:&err];
我不确定下一步该做什么。任何帮助将不胜感激,谢谢。
【问题讨论】:
@***foe 我将如何在那里设置创建日期属性?我找不到在createFileAtPath
函数中设置属性的实际示例。
我发现了我的问题。并不是没有设置修改和创建日期,而是我没有获得文件的正确属性集。结果是我使用的代码是获取文件所在路径的属性,而不是文件本身。 @***foe 保留attributes:nil
仍默认为文件生成NSDate
,并将修改日期的初始值设置为创建日期。
【参考方案1】:
我发现了我的问题。并不是没有设置修改和创建日期,而是我没有获得文件的正确属性集。结果是我使用的代码是获取文件所在路径的属性,而不是文件本身。
【讨论】:
以上是关于nsfilemanager createFileAtPath 导致 NSFileCreationDate 为空的主要内容,如果未能解决你的问题,请参考以下文章