1
這是我的核心數據模型:核心數據 - 復取
Conference
==========
name
events (to-many relationship to Event object)
Event
======
date
type (int - private=0, public=1)
conference (to-one relationship to Conference object)
所以會議可以有很多的事件,和事件只有一個會議:
Conference <------>> Event
我有一個複雜的獲取,我'我不知道該怎麼辦,這是我需要的:
與最公共事件和滿足基本條件,意思是:3頂級會議:
1. c推論至少有1個私人事件。
2.會議至少有5個公共活動。
3.應根據最近10天來計算
我不知道我是否應該直接查詢Conference
對象或查詢Event
對象和使用event.conference
效率比過濾的相應會議是重要的,所以如果可能的話使用讀取限制或其他優化。
非常感謝! – Eyal
btw,排序應該只根據「公共」事件,我需要在排序之前過濾數組嗎?還是有更有效的方法? – Eyal
如果你使用SQLite存儲,恐怕沒有辦法用NSFetchRequest來做到這一點。您可以在使用'NSSortDescriptor'的方法'sortDescriptorWithKey:ascending:comparator:'進行提取後對數組進行排序。或者,您可以將附加屬性'publicEventsCount'添加到''Conference'實體,並在每次向會議添加或刪除一個Event對象時更新它。您應該可以使用此屬性對提取請求進行排序。 –