gpt4 book ai didi

core-data - Swift 数组不能向下转换为派生数组

转载 作者:行者123 更新时间:2023-11-28 13:21:44 25 4
gpt4 key购买 nike

<分区>

我在 Swift 中使用 Core Data,但在存储从获取请求返回的数组时遇到了问题。我的数据模型中有两个实体:任务和家庭作业。 Homework 的父实体是 Task。我为这两个实体自动生成了类:

任务.swift

import Foundation
import CoreData

class Task: NSManagedObject {

@NSManaged var name: String
@NSManaged var due: NSDate
@NSManaged var subject: Subject

}

家庭作业.swift

import Foundation
import CoreData

class Homework: Task {
}

在我的 View Controller 中,确实加载了 View ,我有以下代码。

var error: NSError? = nil
let fetchRequest = NSFetchRequest()
let entity = NSEntityDescription.entityForName("Task", inManagedObjectContext: managedObjectContext)
fetchRequest.entity = entity
tasks = managedObjectContext.executeFetchRequest(fetchRequest, error: &error) as [Task]

在 View Controller 的前面,我初始化了任务:

var tasks : [Task] = []

但是,当我运行该应用程序时,在我将数组分配给任务的那一行出现以下运行时错误:fatal error: array cannot be downcast to array of derived

如果我用 var temp = managedObjectContext.executeFetchRequest(fetchRequest, error: &error) as [NSManagedObject] 替换赋值行,错误就不会发生,但我需要将它保存为一个数组的任务,以便能够使用我生成的自定义类。我做错了什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com