gpt4 book ai didi

swift - iOS10/Swift 3 中的 NSFetchedResultsController - 转换后仍显示错误消息

转载 作者:行者123 更新时间:2023-11-28 16:02:54 24 4
gpt4 key购买 nike

我正在将 swift 应用程序转换为 3.0,但还剩下一个问题。我已阅读 NSFetchedResultController 现在是通用的所有说明并修改了代码,但仍然收到臭名昭著的“分号”错误。

原代码:

    fileprivate lazy var jobController:NSFetchedResultsController = { () -> <<error type>> in 
let request = NSFetchRequest(entityName: AGJobData.entityName)
request.sortDescriptors = [NSSortDescriptor(key: "jobNumber", ascending: true), NSSortDescriptor(key: "name", ascending: true)]
let controller = NSFetchedResultsController(fetchRequest: request, managedObjectContext: AGDataManager.sharedManager.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
var error:NSError? = nil
controller.performFetch(&error)
controller.delegate = self
return controller
}()

由我修改(手动,XCode 转换器没有触及这段代码):

    fileprivate lazy var jobController:NSFetchedResultsController<AGJobData>= { () -> <<error type>> in
let request = NSFetchRequest<AGJobData>()
request.sortDescriptors = [NSSortDescriptor(key: "jobNumber", ascending: true), NSSortDescriptor(key: "name", ascending: true)]
let controller = NSFetchedResultsController(fetchRequest: request, managedObjectContext: AGDataManager.sharedManager.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
var error:NSError? = nil
controller.performFetch(&error)
controller.delegate = self
return controller
}()

还有什么想法吗?

最佳答案

错误处理也已更改。

fileprivate lazy var jobController : NSFetchedResultsController<AGJobData> = {        
let request = NSFetchRequest<AGJobData>()
request.sortDescriptors = [NSSortDescriptor(key: "jobNumber", ascending: true), NSSortDescriptor(key: "name", ascending: true)]
let controller = NSFetchedResultsController(fetchRequest: request, managedObjectContext: AGDataManager.sharedManager.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
controller.delegate = self
do {
try controller.performFetch(&error)
} catch {
print(error)
}
return controller
}()

可能是您必须将 NSFetchRequest 行更改为

let request = NSFetchRequest<AGJobData>(entityName: "AGJobData")

文字字符串必须是实体的名称。

关于swift - iOS10/Swift 3 中的 NSFetchedResultsController - 转换后仍显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40737333/

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