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
。尝试将后者更改为…
。