NSFetchedResultsController什么也没有返回

时间:2015-05-25 13:27:42

标签: ios swift nsfetchedresultscontroller

当我对包含数据的核心数据中的表进行提取时,它似乎没有任何结果。

在进行提取之前,我已在表上执行了读操作,数据就在那里。

这是代码。

func fetchAllFoods() ->  NSFetchedResultsController {
    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let context: NSManagedObjectContext = appDel.managedObjectContext!

    let fetchRequest = NSFetchRequest()

    //3 - set the correct table
    let entity = NSEntityDescription.entityForName(self.entityName, inManagedObjectContext: context)
    fetchRequest.entity = entity

    fetchRequest.fetchBatchSize = 20

    let sectionSortDescriptor = NSSortDescriptor(key: "foodCategory", ascending: true)

    let sortDescriptors = [sectionSortDescriptor] //, secondSortDescriptor]

    fetchRequest.sortDescriptors = sortDescriptors

    //4 - navigate in relationship to group by startdate
    let aFetchedResultsController = NSFetchedResultsController(
        fetchRequest: fetchRequest,
        managedObjectContext: context,
        sectionNameKeyPath: "foodCategory",
        cacheName: nil)

    aFetchedResultsController.delegate = self


    return aFetchedResultsController

}

当我在回归之前休息时,这就是显示的内容。

enter image description here

没有部分,没有数据。

我确信我遗漏了一些基本的东西,所以如果我需要分享更多信息,请告诉我。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您必须在获取的结果控制器上调用performFetch:

let aFetchedResultsController = NSFetchedResultsController(...)
aFetchedResultsController.delegate = self
var error : NSError?
if !aFetchedResultsController.performFetch(&error) {
    // report error ...
}