2011-03-11 83 views
1

將數據從一個視圖控制器傳遞到另一個視圖控制器的最佳方式是什麼?如何在不同的UIViewControllers之間傳遞數據?

假設我將另一個視圖控制器推到當前視圖控制器上。如果我必須將一些數據提供給從當前視圖控制器推送的視圖,我該如何做?

另外如何將數據從推送視圖傳遞到早期視圖?

到目前爲止,我通過在每個控制器中聲明函數並調用它們來完成此操作。我覺得它很髒,並希望有一個更乾淨的方式來做到這一點。我不想使用plists或sqlite,因爲數據並不那麼重要。

+0

在目標c中對不對? – Daniel 2011-03-11 12:42:07

+0

是的。面對這種情況在iphone sdk – 2011-03-11 12:43:45

+0

你嘗試[搜索](http://stackoverflow.com/search?q=view+controller+pass+data)?這是一個經常被問到的問題。 – zoul 2011-03-11 12:46:05

回答

0

爲什麼你可以嘗試在AppDelegate中設置變量。將數據提供給AppDelegate的變量並在應用程序中的任意位置獲取它,或者您將獲得該數據。該值將分配給應用程序代理的變量爲applicationtermination

嘗試採取的幫助已經多次詢問Pass Data Between Several Viewcontrollers in a App.

希望你明白我的意思.....祝你好運!

3

如果數據量非常大,將數據保留在AppDelegate中並不是一個好主意,因爲數據將貫穿整個應用程序生命週期。

爲什麼不調用新創建的UIViewController對象的setter來傳遞數據,以便在視圖離屏或取消分配時釋放它。

+1

我很困惑,爲什麼調用屬性setter不是一個立即給出的答案。 – GendoIkari 2011-03-11 13:55:29

+0

我已經使用過屬性設置器。但它有時會出錯,並不是設置變量的好方法。 – 2011-03-11 13:59:33

+0

什麼錯誤?你爲什麼說這不是一個好方法? Setters是專門在框架中創建的,用於設置變量。 – GendoIkari 2011-03-11 14:02:53

相關問題