このフォーラムのさまざまな有益な投稿のおかげで、ユーザーが選択した単一のNSURLの作成日を取得するためのコードがいくつかあります。しかし、コードをハードコードされたNSURLでもNSFileManagerの列挙子を通してループ内でも動作させることはできません。NSURL getResourceValue Swift 3
私はプロのプログラマーではありません。私はオフィスのためのツールであるアプリを作る。私の最終的な目標は、Creation Dateに基づいて単純に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が投稿したものと非常によく似ているように見えますが、この特定の順列がなぜ機能するのか、そして他のもの(私を含む)はまだ霧があるのです。 –