我一直在爲這個問題爭冠,很難總結成一行代碼。我會盡量保持它儘可能直接。優化,是否減少核心數據請求?
我正在開發一個應用程序,我正在顯示一個自定義的UIView(圖表)和一個帶有數據的UITableView。表格視圖中的每一行代表一個具有值的時間點,可以說它的帳戶餘額。
tableview一次只顯示3行,中間行作爲「活動」行。活動行用於決定圖表中顯示的內容。在圖表中顯示12小時前或後的任何賬戶餘額,其時間戳爲<。使圖表顯示24小時的數據窗口。
這就是我正在努力決定什麼是優化和減少在tableview中滾動時的滯後的最佳設計方法。基本上我有通過使用UIScrollView委託方法來確定哪一行在中間的邏輯。這工作正常。
要決定要顯示的數據我每次中間行更改(每次更改行時都會有新的請求),使用謂詞執行NSFetchRequest。完成後,我在圖表視圖上調用setNeedsDisplay並重繪。
儘管目前爲止在小數據集上工作正常,但我有一種直覺,我可以以某種方式更好地利用Core Data的性能和緩存,以更好地減少延遲。任何想法和想法都很受歡迎。
這可能不是一個常見問題,也不是很多人的興趣點,但是我在這裏討論的最佳實踐可能適用於比我更多的情況,因此對更多的人有價值。
您描述的場景看起來像是使用NSFetchedResultsController的完美人選。讓它爲你進行表管理和更新,在需要時獲取對象,並在不使用/顯示在表上時對其進行錯誤檢查等。查看文檔並查看它是否可以幫助你。 – Rog 2012-02-02 01:00:55