簡體   English   中英

在UINavigationController中關閉視圖並同時同步

[英]Dismissing view in UINavigationController and at the same time syncing

NavigationController堆棧上有兩個視圖:

  1. 編輯項目詳細信息視圖(基本上是一種表格)
  2. 在表格視圖中顯示所有項目

我想知道我的任務是否有最佳實踐:

當用戶在UINavigationController欄中點擊“返回”時(在視圖1中 ),應用程序應更新服務器上的項目。

並不是那么困難,但是BACK-action導致視圖22不是最新的,因為更新發生在后台,並且在完成對表視圖數據的GET請求之前還沒有通過。

因此,為了使視圖2始終顯示准確的數據,我有幾種選擇。 有點煩人..(例如,讓視圖2的 ViewController代表1與服務器通信並在完成時進行更新,或者讓“更新發生”通知觸發重新加載,...)

但是..這種情況下的最佳做法是什么?

我想我將把這些物品放在中心位置。 讓我們稱之為ItemsStore。 ItemsStore是一個單例,它負責獲取一組最新商品並提供對這些商品的訪問權限。 如果有新數據到達或保存了舊數據,它也會觸發通知。

在這種情況下:

  • 視圖2將數據添加到存儲中。 商店通知有更改。
  • 查看該通知的1個更新。
  • 視圖2還要求ItemsStore將數據保存到服務器。

我不會將加載和保存的責任交給控制器,這將變得很丑陋和復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM