我有一个用于本地存储文件的 NSURL
列表。
我想显示创建日期,所以我按如下方式检索它:
for (NSURL * file in sortedFileList){
NSDate *date = nil;
NSError * error = nil;
[file getResourceValue:&date forKey:NSURLCreationDateKey error:&error];
if (error)
{
NSLog(@"error getting date: %@", error);
continue;
}
if (!date)
{
NSLog(@"Empty date.... skipping file");
continue;
}
}
当我在 iOS 5 模拟器或 iOS 6 上运行它时,它运行正常并显示日期。
但是,当我在 iOS 4.3 模拟器上运行它时,它为所有文件的日期和日志提供了 nil
“空日期...”消息。
根据文档 NSURLCreationDateKey
可从 iOS 4 获得,那么这是怎么回事?
最佳答案
事实证明,getResourceValue: forKey:
方法仅适用于 iOS 5+。
Available in iOS 5.0 and later. (Symbol is present in iOS 4, but performs no operation.)
我还不明白为什么 NSURLCreationDateKey
可用于 iOS 4,因为我找不到任何方法以其他方式从 NSURl 获取日期。
目前的解决方案:
NSDate *date = [[[NSFileManager defaultManager] attributesOfItemAtPath:[url path]
error:nil] objectForKey:NSFileCreationDate];
关于ios - 为什么 NSURLCreationDateKey 的值在 iOS 4.3 上为 nil 而在 iOS 5+ 上却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16263801/