2014-12-01 41 views
0

我正在製作一個允許用戶登錄的基本應用程序。通過視圖控制器傳遞用戶數據

我想知道通過視圖控制器之間的用戶數據的一般做法。用戶通過身份驗證後,通常可以通過視圖控制器傳遞他們的數據嗎?

例如,用戶A被記錄在和認證。用戶A想要「創建一個事件」,爲了能夠保存用戶正在主持該事件,我必須將該用戶ID作爲主機存儲在該事件上,並且我需要訪問他的UID。您是否會在登錄後保存用戶ID並將其傳遞給每個視圖?

我使用火力地堡作爲我的後端是否有幫助。

回答

0

是的,最佳做法是根據需要在視圖控制器之間傳遞數據。您通常會使用prepareForSegue方法來完成此操作。不要陷入使用(濫用,而是)你的應用程序委託來維持一堆全局狀態的常見做法。這是一個壞消息。在我看來,將數據傳遞到視圖控制器層次結構,而不是讓視圖控制器重新啓動並抓住他們需要的東西,它會更乾淨,更模塊化。

2

你應該瞭解一個名爲「塞格斯」的東西。它是ios中視圖間轉換的主要機制。

這裏有一個很好的教程(沒有個人聯繫,順便說一句) http://makeapppie.com/2014/07/01/swift-swift-using-segues-and-delegates-in-navigation-controllers-part-1-the-template/

沒有使用火力點,但如果你是從頭開始自己通過事件的數據,你會做4兩件事。

  1. 將宣佈在目標控制器的變種。
  2. 在源控制器中,您可以在適當的時間觸發函數:performSegueWithIdentifier。
  3. ,把你帶到你的prepareForSegue功能(本功能的內容是一樣的,你過渡到新的控制器之前沒有返回的最後一個點)。在裏面,創建一個var,其中類型的名稱是目標視圖控制器的名稱。
  4. 使用點運算符訪問要傳遞給的變量並給它適當的值
相關問題