2016-08-19 82 views
0

我使用的Xcode 8.0版公测6.我想申报获取结果控制器,但不断出现了一个错误 “引用泛型类型‘NSFetchedResultsController’要求论点< ...>为什么我不能声明NSFetchResultsController?

var fetchedResultsController : NSFetchedResultsController! 

Xcode是暗示我通过使用

var fetchedResultsController : NSFetchedResultsController<AnyObject>! 

这也引发错误“类型修复它‘AnyObject’不符合协议‘NSFetchRequestResult’

+0

@PetahChristian是啊,解决了它。谢谢 – Mochi

回答

0

这里是我通常如何声明我的:

lazy var fetchedResultsController: NSFetchedResultsController = { 
    let fetchRequest = NSFetchRequest(entityName: "Friend") 
    fetchRequest.sortDescriptors = [NSSortDescriptor(key: "lastMessage.timestamp", ascending: false)] 
    let predicate = NSPredicate(format: "lastMessage.timestamp != nil") 
    fetchRequest.predicate = predicate 
    let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext 
    let frc = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil) 
    frc.delegate = self 
    return frc 

}() 
相关问题