2011-03-23 56 views
0

非常快速的問題。我需要用一個NSNumber屬性(每個對象有時間戳,通常每天有8-10個對象)提供一個UITableViewController每日平均值。有沒有什麼簡單的方法可以使用我自己的懶惰加載版本(我將平均數據按時間順序排列,直到我有一個每日平均屏幕),或者我應該採取簡單的方法,並維護一個平均值實體,填充所有可能的日子的平均值,這是我常規在我的UITableViewController中呈現的?提供UITableViewController計算值

謝謝。

回答

0

取決於計算需要多長時間?爲什麼不在計算cellForRowAtIndexPath的UITableViewDataSource方法中計算呢?除非需要時間來計算 - 因此導致在屏幕上填充數值的延遲 - 我認爲在即時計算中沒有壞處。

還有很多其他地方可以進行計算。您可以在應用程序啓動時或加載視圖時執行此操作。你甚至可以啓動一個NSOperation,在控制器的後臺做一個委託,告訴它何時重載數據。

+0

有趣的想法......我只是有這個輸入和輸出不匹配的問題 - 第4行可能需要顯示對象4-6的平均值或對象40-60的平均值。也許在視圖加載時,我可以計算相關性,所以當控制器詢問表中的給定行時,我知道什麼值要平均。或者,也許我應該保留一個Correlations實體,這樣每次查看錶格時我都不必重新計算。嗯... – ed94133 2011-03-24 16:15:05

0

您應該按值進行提取(請參閱Core Data Programming Guide),然後在屬性名稱上使用@avg集合運算符。

+0

雖然我不需要爲每個可能的日期範圍(24小時週期)獲取值來獲取日平均值嗎? – ed94133 2011-03-24 16:00:43

+0

是的,但你只是獲取該特定屬性的值,所以它是一個輕量級操作。您不會實例化任何託管對象或維護對象圖形,因此它的內存快速且內存不足。 – TechZen 2011-03-24 20:34:15