Благодаря множеству полезных сообщений в этом форуме у меня есть код, который работает для получения Даты создания одного выбранного пользователем NSURL. Тем не менее, я не могу заставить код работать как с жестко закодированным NSURL, так и внутри цикла через NSFileManager-перечислитель.NSURL getResourceValue Swift 3
Я не профессиональный программист; Я делаю приложения, которые являются инструментами для офиса. Моя конечная цель - просто отсортировать массив объектов NSURL на основе даты создания.
кода я использую ниже, который функционирует так же хорошо, как есть, но если я пытаюсь использовать комментируемую строку для оценки конкретного файла PDF, я получаю следующее сообщение об ошибке:
Я получаю ту же ошибку, когда пытаюсь добавить этот код в цикл объектов NSURL, приобретенных через NSFileManager Enumerator.
Я не могу понять, как использовать инструкцию по ошибке для решения проблемы. Если кто-то может помочь, это будет потрясающе. Спасибо.
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, что я все еще туманный, почему эта функция перестановки, а другие (в том числе и мои) этого не делают. –