Swift 无法转换类型为';任务';到预期的参数类型';课程作业';

Swift 无法转换类型为';任务';到预期的参数类型';课程作业';,swift,core-data,nsfetchedresultscontroller,Swift,Core Data,Nsfetchedresultscontroller,好的,我的获取结果控制器有问题。问题似乎是,当要求它从另一个表中提取数据时,出现了一个异常,它似乎试图将一个表转换为另一个表。为什么会这样 var fetchedResultsController: NSFetchedResultsController<Task> { if _fetchedResultsController != nil { return _fetchedResultsController! as! NSFetchedRes

好的,我的获取结果控制器有问题。问题似乎是,当要求它从另一个表中提取数据时,出现了一个异常,它似乎试图将一个表转换为另一个表。为什么会这样

var fetchedResultsController: NSFetchedResultsController<Task> {
        if _fetchedResultsController != nil {
            return _fetchedResultsController! as! 
NSFetchedResultsController<Task>
        }

        let fetchRequest: NSFetchRequest<Task> = Task.fetchRequest()

        // Set the batch size to a suitable number.
        fetchRequest.fetchBatchSize = 20

        // Edit the sort key as appropriate.
        let sortDescriptor = NSSortDescriptor(key: "coursework", ascending: 
true)

        fetchRequest.sortDescriptors = [sortDescriptor]

        let currentCoursework = self.detailItem
        if(self.detailItem != nil){
            let predicate = NSPredicate(format: "moduleCoursework", currentCoursework!)
            fetchRequest.predicate = predicate
        }

    // Edit the section name key path and cache name if appropriate.
    // nil for section name key path means "no sections".
        let aaFetchedResultsController = 
NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: 
self.managedObjectContext, 
sectionNameKeyPath:#keyPath(Coursework.modulename), cacheName: "Master")
        aaFetchedResultsController.delegate = self
        _fetchedResultsController = aaFetchedResultsController

        do {
            try _fetchedResultsController!.performFetch()
        } catch {
        /* Replace this implementation with code to handle the error 
appropriately.
         fatalError() causes the application to generate a crash log and 
terminate. You should not use this function in a shipping application, 
although it may be useful during development.*/
            let nserror = error as NSError
            fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
        }

        return _fetchedResultsController! as! 
NSFetchedResultsController<Task>
    }
    var _fetchedResultsController: NSFetchedResultsController<Coursework>? = 
nil
var fetchedResultsController:NSFetchedResultsController{
如果_fetchedResultsController!=nil{
return\u fetchedResultsController!as!
NSFetchedResultsController
}
let fetchRequest:NSFetchRequest=Task.fetchRequest()
//将批次大小设置为合适的数字。
fetchRequest.fetchBatchSize=20
//根据需要编辑排序键。
让sortDescriptor=NSSortDescriptor(键:“课程作业”,升序:
(对)
fetchRequest.sortDescriptors=[sortDescriptor]
让currentCoursework=self.detailItem
如果(self.detailItem!=nil){
let predicate=NSPredicate(格式:“moduleCoursework”,currentCoursework!)
fetchRequest.predicate=谓词
}
//如果合适,请编辑节名称密钥路径和缓存名称。
//对于节名称键路径,nil表示“无节”。
让aaFetchedResultsController=
NSFetchedResultsController(fetchRequest:fetchRequest,managedObjectContext:
self.managedObjectContext,
sectionNameKeyPath:#keyPath(Coursework.modulename),cacheName:“Master”)
aaFetchedResultsController.delegate=self
_fetchedResultsController=aaFetchedResultsController
做{
请尝试_fetchedResultsController!.performFetch()
}抓住{
/*用处理错误的代码替换此实现
适当地。
fatalError()使应用程序生成崩溃日志并
终止。您不应在装运应用程序中使用此功能,
尽管它在开发过程中可能很有用*/
设nserror=错误为nserror
fatalError(“未解决的错误\(nserror),\(nserror.userInfo)”)
}
return\u fetchedResultsController!as!
NSFetchedResultsController
}
var\u fetchedResultsController:NSFetchedResultsController?=
无

请显示
self.detailItem
。错误在哪一行?我怀疑这是因为您的计算变量
fetchedResultsController
的类型是
NSFetchedResultsController
,而支持变量
\u fetchedResultsController
的类型是
NSFetchedResultsController
。尝试将后者更改为