我有一個正在工作的應用程序,但我不滿意,因爲我已經找到了最好的(或最簡單的)解決方案。該應用程序具有單個數據庫,其中包含許多具有典型一對多引用的表格。迄今爲止很好,沒有什麼不尋常的。iPhone設計:單個數據源的多個桌面視圖
該應用程序有3個選項卡,每個可以顯示一個表中的記錄列表。如果用戶觸摸表格行,則選項卡上的導航視圖會按下新的表格視圖來顯示詳細信息。想想你的地址簿,你就明白了。
在記錄的詳細信息視圖中,我已獲取包含指向其他表中記錄的鏈接的部分。所以觸摸一個將導航到該記錄,改變到適當的選項卡。
棘手的一點是編輯記錄時,因爲它會影響顯示在另一個選項卡上的數據。最初我根據核心數據保存的通知發送的核心數據更改來查看對錶視圖的更新。但是,我發現,根據這種方式確定需要對錶格視圖進行哪些更改太困難且不可靠。主要是因爲我沒有一個前後數據圖來比較。因此,當核心數據保存發生時,表視圖只是記住它們的後備數據可能已受到影響,並且會在下次顯示時完全重新加載。
雖然我的系統爲保持數據在表視圖中保持同步,但我確定必須有更好的方法。我正在考慮KVO是否可以成爲更好的選擇,使用表視圖控制器跟蹤數據圖中的各個字段和對象,以便他們能夠響應由其他表視圖觸發的精確更改。核心數據通知方法對於需要微妙點擊的問題有點像錘子方法。
別人怎麼處理這類問題?