私はxcodeとswift 3で4日間プログラミングしていますが、これらのページはすでに非常に役立っています。私が実行した問題は、私のCore Dataエンティティから古い冗長なレコードを削除しようとしたことです。私は日付が打たれているレコードを追加することができますが、その日付が過去になったら、そのレコードを取り除きたいのです。ここまで私がこれまでに持っていたことは、問題が私がstart_timeの値を次に日付に割り当てる方法にあることを示唆するエラーを私に与えることです。私が行方不明になっていることは明らかですか?コアデータから古いレコードを削除する
アプリを終了***キャッチされない例外により 'NSUnknownKeyException'、理由:
func DeleteOldRecords() -> Void { let deleteContext = getContext() let nowDate = Date() let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "table") let result = try? deleteContext.fetch(fetchRequest) let resultData = result as! [table] for object in resultData { let thenDate = deleteContext.value(forKey: "start_time") as! Date if thenDate < nowDate { deleteContext.delete(object) } } do { try deleteContext.save() } catch { } } func getContext() -> NSManagedObjectContext { let appDelegate = UIApplication.shared.delegate as! AppDelegate return appDelegate.persistentContainer.viewContext }
そして、ここでは、私が取得していますエラーです「[valueForUndefinedKey:]:このクラスは、キー値コーディングではありません - キーstart_timeに準拠しています。
あなたは絶対に正しいです。あなたがそれを言い次第すぐに飛び出します。感謝万円。それが私を夢中にしていた! – gaviano