如何在 iOS 10 Swift 3 中初始化 NSFetchedResultsController [英] How to initialize a NSFetchedResultsController in iOS 10 Swift 3

查看:18
本文介绍了如何在 iOS 10 Swift 3 中初始化 NSFetchedResultsController的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在 iOS 10 中使用来自 NSFetchedResultsController>AECoreDataUI.

I can't get my NSFetchedResultsController initialized in iOS 10 using Swift 3 within CoreDataTableViewController from AECoreDataUI.

let request = NSFetchRequest<NasaPicture>(entityName:"NasaPicture")  
request.predicate = Predicate(format: "isPagedResult == YES")  
request.sortDescriptors = [SortDescriptor(key: "date", ascending: false)]  
fetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: moc, sectionNameKeyPath: nil, cacheName: nil)  

编译器抱怨

"Cannot convert value of type NSFetchedResultsController<NasaPicture> to expected type NSFetchedResultsController<_>"

控制器现在使用 swift 的泛型类型,但它没有正确推断实体类型.我已经明确尝试过:

The controller is now using generic type for swift, but it is not inferring the entity type correctly. I've tried explicitly:

fetchedResultsController = NSFetchedResultsController<NasaPicture>(fetchRequest: request, managedObjectContext: moc, sectionNameKeyPath: nil, cacheName: nil)  

也不走运.

谢谢!

推荐答案

NSFetchRequest 现在是通用的.NSFetchedResultsController 也是一个泛型.因此,在声明变量时,必须使用泛型声明,例如:

NSFetchRequest is now a generic. NSFetchedResultsController is a generic too. Therefore, when declaring variables, you have to use a generic declaration, e.g.:

var fetchedResultsController: NSFetchedResultsController<NasaPicture>?

这篇关于如何在 iOS 10 Swift 3 中初始化 NSFetchedResultsController的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆