2016-08-19 65 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 

}() 
相關問題