簡體   English   中英

如何從NSFetchedResultsController獲取有限制的最新對象?

[英]How to get the latest objects from NSFetchedResultsController with a limit?

也許問題的標題是不是apriopriate,但這里是我需要實現我的NSFetchedResultsController

private func setupOnceFetchedResultsController() {

    if fetchedResultsController == nil {
        let context = NSManagedObjectContext.MR_defaultContext()
        let fetchReguest = NSFetchRequest(entityName: "WLComment")
        let createdAtDescriptor = NSSortDescriptor(key: "createdAt", ascending: true)

        fetchReguest.predicate = NSPredicate(format: "item.identifier = %d", item.identifier)
        fetchReguest.sortDescriptors = [createdAtDescriptor]
        fetchReguest.fetchLimit = 10

        fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchReguest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
        fetchedResultsController.delegate = self

        try! fetchedResultsController.performFetch()
        tableView.reloadData()
    }
}

假設我有100條評論。 最舊的在頂部,最新的在底部。 當我需要顯示所有它們時沒有問題,但是在這里我只需要顯示10個即可。 上面的NSFetchedResultsController將顯示100條消息中的前10條,但是我需要顯示最新的10條。

有沒有辦法讓我知道我需要什么?

根據以后使用數據的方式,可以選擇至少兩個選項:

  • 還原排序描述符,將以還原順序返回排序列表的末尾;

  • 首先獲取項目數並設置適當的fetchOffset ,將返回所需的項目數,並根據需要進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM