我正在處理多視圖控制器方案,用戶可能會更改最深的視圖中顯示的值。說A是頂部,B是第二,C是第三。如何更新祖父母表視圖
當使用C中的導航欄返回到B時,必須執行A中的表重新加載。 (表格很小,所以我不打擾優化只更新一行)。
使用一個協議,我想C應該提供一個協議,A可以使用一個委託來執行一個函數,如'someRowIsUpdated'。我認爲缺點是A應該包含一個C的頭部以瞭解該協議。當添加一些其他控制器時,說一些兄弟姐妹,必須更新A的來源,添加一個額外的包含。這對我來說似乎是錯誤的。
另一種方法是在B實例化C時實例化B和C時,從A向下傳遞一些id。這對我來說似乎也很笨拙。
當C想通知A做某事時,最好的方法是什麼?通知? 我寧願讓C包含來自A的頭部,而不是相反。
有什麼想法?
控制器A,B和C在主線程中。當使用CoreData(的確如此)時,同一個線程中的對象具有相同的ManagedObjectContext是真的嗎?正確。 – Clemens
正確。這是Apple在其演示應用程序中使用的設計模式。 – Mundi