gpt4 book ai didi

swift - 为什么我不能使用闭包创建 Fetched Results Controller?

转载 作者:搜寻专家 更新时间:2023-11-01 06:33:44 24 4
gpt4 key购买 nike

我正在尝试按照一些教程创建一个 Fetched Results Controller。但是,在 Swift 3 中,当我尝试在下面看到的模式中创建一个时,出现“无法推断复杂闭包类型”的错误。

class FriendsController: UICollectionViewController {

lazy var fetchedResultsController: NSFetchedResultsController = {
let context = (UIApplication.shared.delegate as!
AppDelegate).persistentContainer.viewContext

let fetchRequest: NSFetchRequest = Friend.fetchRequest()

let fetchedResultsController =
NSFetchedResultsController(fetchRequest: fetchRequest,
managedObjectContext: context, sectionNameKeyPath: nil, cacheName:
nil)
return fetchedResultsController
}()

我在制作 View 、按钮等其他东西时使用了这种闭包模式,但是它不起作用(即使我不使用惰性变量)。这个错误对我来说也不是很清楚(如上所述)。谢谢。

最佳答案

NSFetchedResultsController 在 Swift 3 中是通用的。您必须指定具体类型,因为编译器无法推断复杂的闭包类型:

lazy var fetchedResultsController: NSFetchedResultsController<Friend> = { ...

关于swift - 为什么我不能使用闭包创建 Fetched Results Controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44181919/

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