感谢在这个论坛中的各种有用的帖子,我有一些代码可用于获取单个用户选择的NSURL的创建日期。但是,我无法让代码为硬编码的NSURL工作,也不能在通过NSFileManager枚举器的循环中工作。NSURL getResourceValue Swift 3
我不是专业程序员;我制作的应用程序是办公工具。我的最终目标是简单地根据创建日期对NSURL对象进行排序。
我使用的代码如下,它的功能就好了原样,但如果我尝试使用注释行,以评估特定的PDF文件时,我收到以下错误:
当我尝试将此代码添加到通过NSFileManager枚举器采购的NSURL对象循环中时,我得到了完全相同的错误。
我无法弄清楚如何使用错误指令来解决问题。如果有人能够提供帮助,那将是巨大的。谢谢。
let chosenURL = NSOpenPanel().selectFile
//let chosenURL = NSURL.fileURL(withPath: "/Users/craigsmith/Desktop/PDFRotator Introduction.pdf")
do
{
var cr:AnyObject?
try chosenURL?.getResourceValue(&cr, forKey: URLResourceKey.creationDateKey)
if (cr != nil)
{
if let createDate = cr as? NSDate
{
print("Seems to be a date: \(createDate)")
let theComparison = createDate.compare(NSDate() as Date)
print("Result of Comparison: \(theComparison)") // Useless
let interval = createDate.timeIntervalSinceNow
print("Interval: \(interval)")
if interval < (60*60*24*7*(-1))
{
print("More than a week ago")
}
else
{
print("Less than a week ago")
}
}
else
{
print("Not a Date")
}
}
}
catch
{
}
这很好用,但代码看起来和@OOPer发布的内容非常相似,我仍然对这个特殊排列的功能有些模糊,而其他的(包括我的)却没有。 –