无法推断出复杂的闭包返回类型; 添加显式类型以消除歧义

ran*_*234 6 type-inference nsfetchedresultscontroller ios swift

有谁知道我怎么能解决这个我得到的错误?在以下代码块的第一行收到错误:

let fetchedResultsController: NSFetchedResultsController = {
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Message")
    let delegate = UIApplication.shared.delegate as! AppDelegate
    let context = delegate.persistentContainer.viewContext
    let frc = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
    return frc
}()
Run Code Online (Sandbox Code Playgroud)

Muk*_*esh 8

尝试在闭包中添加返回类型,如下代码:

let fetchedResultsController: NSFetchedResultsController = { () -> NSFetchedResultsController<NSFetchRequestResult> in
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Message")
    let delegate = UIApplication.shared.delegate as! AppDelegate
    let context = delegate.persistentContainer.viewContext
    let frc = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
    return frc
}()
Run Code Online (Sandbox Code Playgroud)