2011-06-28 36 views
0

我在我的應用程序的表格上列出了經常性事件列表。像iCal一樣。用戶可以設置類似的事件:iPhone - 對經常性事件列表進行排序

  • 會議下週二下午3點
  • 滿足妻子每週三下午6個
  • 每天服用1時許
  • 帶孩子週六和週日上午9:

現在的問題是:我該如何排序以發現哪個將成爲下一個事件?

我不確定創建核心數據實體的最佳方式。

我是否應該創建星期幾作爲核心數據上的第二個管理對象,並與表示事件的第一個管理對象(因此每個事件可以有一個或多個星期幾天對象)建立多對多關係。我應該用布爾實體創建一個代表星期幾的管理對象嗎?

我可以想象在覈心數據上做到這一點的不同方式,但我沒有看到如何從核心數據中提取按事件排序的列表,我的意思是首先顯示接近今天的日期和最後一個事件的列表事件更遙遠。

我在這裏問的不是代碼,而是關於如何構建這些代碼的想法......你們認爲這是將它們組合在一起的最佳方式。

謝謝。

回答

1

我會做的是讓您的Core Data中的「事件」實體具有日期和重複屬性。將日期設置爲事件發生的時間和重複次數,直到下一次發生。事件發生時,使用-dateByAddingTimeInterval使用當前日期和重複週期更新日期。

然後,您可以按日期排序以獲得您的下一個活動。如果要多次顯示事件(例如月曆佈局),請在-dateByAddingTimeInterval上循環:使用重複間隔並在每次迭代過程中將其標記在視圖上。

+0

謝謝,我認爲這是一個不錯的主意! – SpaceDog