2011-05-24 29 views
0

以我具體例子我有一個標籤欄控制器的選項卡2內的導航控制器,根導航控制器視圖具有三個按鈕: 「最近的商店」 - 這推動包含與最近存儲的MapView的圖,點擊店鋪引腳將推動商店詳情視圖。 「所有商店」 - 這會推送包含列出所有商店的表格視圖的視圖,單擊一行將推動商店詳情視圖。 '商店搜索' - 這推動了一個包含文本框的視圖,該文本框允許城鎮/郵政編碼搜索出現在桌面視圖中的最近的商店,單擊一行將推動商店詳情視圖。iphone如何實現在多個地方使用的視圖?

我的問題是商店的細節應該如何看待實施,因爲它會被推到從多個父視圖。

我現在有每個父視圖,最近的商店視圖,所有商店查看,存儲搜索視圖,包含的存儲細節一個單獨的實例視圖被分配存儲器並被推到視圖控制器在必要時控制器。我擔心的是,如果通過這3條路徑訪問商店詳情視圖,那麼在內存中將有3份商店詳細信息,因爲我不確定這些信息何時會自動發佈。

我的想法是,實現此的另一種方式是讓的商店的詳細信息的實例從主導航根控制器與三個按鈕查看控制器。 從任何最近的商店,所有商店,商店搜索視圖中,如果需要訪問商店詳細信息視圖,則會從導航控制器中彈出當前視圖,並且會運行根控制器中的某個方法以推送商店詳細信息視圖上。這意味着在內存中只有一個存儲細節視圖實例,因爲每次訪問它時都會重用它。

由於彈出並推送到商店詳細信息視圖不會被動畫,因此當用戶點擊後退按鈕時,用戶可能會感到困惑,因爲它們將最終位於根視圖控制器上,而不是它們的視圖以前。

這是實現這種視圖結構的好方法嗎?我不確定我是否理解iPhone如何在內存中保留視圖,並且如果下去這種替代路線將會是有益的或浪費時間。

感謝您的任何幫助。

回答

0

我會做什麼(可能不正確)是有一個標籤欄控制器,並在每個選項卡中的三個不同的存儲搜索的看法。
然後有一個單身查看對象,這將是您的詳細信息視圖。因此,所有三個視圖都可以訪問同一個細節視圖對象。
希望我有點幫助:S

+0

感謝您的答覆!這聽起來完全合理,我使用單例對象來獲取全局可訪問的數據,例如登錄用戶的詳細信息,但以這種方式使用視圖從來沒有發生過。 – mart 2011-05-25 09:25:05

相關問題