[英]sectionNameKeyPath with NSFetchedResultsController not working
[英]Transient sectionNameKeyPath & NSSortDescriptor NSFetchedResultsController
我在Core Data中有一個任務列表。 我使用NSFetchedResultsController將它們提取到UITableView中。
我需要自定義訂單中的自定義部分:
為了確定任務應該進入哪個部分,我使用基於相對對象中的其他屬性動態計算的派生瞬態屬性。
遺憾的是,您無法將派生值作為獲取請求使用的排序描述符傳遞。 這是因為fetch依賴於已經要求獲取的數據。 雞蛋。
我理解為什么我不能這樣做,這無助於我解決問題!
我試過了:
將NSFetchedResultsController子類化為“ 自定義節和索引標題的創建 ”。 也許我做錯了,但這只是改變了部分的名稱和順序,而不是那些部分有多少東西(這是關鍵的)。
每個部分填充數組並將它們提供給表格(笨重,緩慢但完全有效)。
剔除正在進行和推遲的任務(有效但不理想)。 這樣我可以按dueDate排序並通過瞬態值驅動sectionNameKeyPath。
有沒有人有更好的想法? 有很多問題就像這個問題一樣,但沒有一個問題可以解決。
提前致謝!
干杯
最簡單的解決方案是添加持久的“section”屬性(或轉換現有的transient屬性)。 使其成為一組可排序的值(使用您想要的名稱在運行時顯示)。 無論何時更新任何記錄,都要重新計算並存儲section屬性。
我意識到這聽起來像是在存儲冗余信息,但除了使邏輯更簡單之外,它還可以編制索引,從而加快訪問速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.