ios - 为什么 NSURLCreationDateKey 的值在 iOS 4.3 上为 nil 而在 iOS 5+ 上却没有?

标签 ios date nsurl

我有一个用于本地存储文件的 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/

相关文章:

c# - 最近完成的季度

php - 将此字符串转换为日期格式以保存到 mysql

iphone - NSURL URLWithString :myString returns Nil?

ios - UITableView cellForRowAtIndexPath 被提前调用

objective-c - 在iPad上非英语键盘输入时出错

php - 如何在 PHP 中减去两个日期并在没有交互的情况下发送自动电子邮件

ios - NSURL URLWithString url 始终为 nil

ios - 图片不适合 WebView

ios - 按日期属性对 NSMutableArray 内的 NSMutableArray 进行排序

iphone - 将两种纹理合二为一