migration - swift : Unable to infer complex closure type with NSFetchedResultsController

标签 migration nsfetchedresultscontroller swift3 ios10 xcode8

将项目升级到Swift 3后,将不再构建以下初始化程序:

1    var fetchedResultsController: NSFetchedResultsController {
2        if _fetchedResultsController != nil {
3            return _fetchedResultsController!
4        }
5        
6        let fetchRequest: NSFetchRequest = MyEntity.fetchRequest()
...

错误发生在第1行:
"Unable to infer complex closure return type; add explicit type to disambiguate"

第6行给出了另一个错误:
"Generic parameter 'MyEntity' could not be inferred"

最佳答案

经过一番阅读后,我了解到NSFetchRequestNSFetchedResultsController现在在iOS 10中是通用的,Apple建议明确指定其类型:

1    var fetchedResultsController: NSFetchedResultsController<MyEntity> {
2        if _fetchedResultsController != nil {
3            return _fetchedResultsController!
4        }
5        
6        let fetchRequest: NSFetchRequest<MyEntity> = MyEntity.fetchRequest()
...

一个有用的技巧(针对Swift 3迁移中的此问题和其他问题)是使用XCode从模板简单地创建一个新应用程序!

关于migration - swift : Unable to infer complex closure type with NSFetchedResultsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39238386/

相关文章:

ruby-on-rails-3 - 是否可以更改 Rails 3 迁移中的列索引?

ios - NSFetchedResultsController controllerDidChangeContent 方法中的无限循环

iphone - 核心数据: Serious application error

ios - 核心数据 : Accessing an object used to mark sections in an NSFetchedResultsController

IOS Swift 如何在 TableView 中单击时获取元素的值

django:数据迁移权限

sql - 物化 View 未更新

c++ - 'QObject& QObject::operator=(const QObject&)' 是私有(private)的

swift - Swift + NSMenuItem 中带有参数的 Selector()

swift - 如何使用 Swift3 在​​正确的位置填充日历模板的日期?