2012-04-20 32 views
0

我有一個視圖控制器,推到另一個頁面在同一類。輸入到新頁面的文本字段中的所有數據一旦離開,就會消失。我假設我在這裏錯過了一步?數據在文本字段消失

是否必須將頁面中的某些內容連接到我的原始視圖控制器?

否則我會以這個速度有一個長頁。

xcode 4.3

+0

你可以分享一些代碼? Especailly你如何推送到其他viewController? – ilhnctn 2012-04-20 11:11:51

回答

0

我想我明白你在說什麼。你有一個屏幕調用另一個屏幕。您可以調用新屏幕並在新屏幕上輸入數據,然後返回到原始屏幕。然後再次調用第二個屏幕,數據現在丟失。

每次調用屏幕時,都會創建一個新的UIViewController(或該類的子類)對象。它只知道你在創建它之後告訴它的內容。當您回到原始屏幕時,除非將數據存儲回「模型」(MVC)或原始屏幕,否則新屏幕的視圖控制器將被銷燬並且其中的所有數據都會被銷燬。因此,如果您需要讓新屏幕顯示之前輸入的數據,則需要將該信息存儲在應用程序的「模型」或調用它的屏幕中。然後,當您調用新屏幕時,將存儲的數據「推」到其中。

如果您不熟悉Apple的模型 - 視圖 - 控制器模式中的「模型」,這裏有一個很好的參考。 Apple MVC

希望這有助於

+0

是的,這就是發生了什麼,感謝解釋。我有一個快速閱讀你鏈接到的蘋果文檔,並像往常一樣感到比我開始時更困惑。簡單地說,我如何將信息存儲在模型或原始頁面中?我的最終目標是可能有兩三百頁,而用戶可以輸入測試結果,每個頁面大約有兩百頁。 4 - 8個文本字段。我有一個思考即時通訊這個錯誤,因爲我目前的設計是一個長頁面,我連接了大約800個文本字段,然後編寫另外800行代碼將結果附加到電子郵件主體字符串 – JSA986 2012-04-20 11:41:27

+0

您是否熟悉面向對象編程?如果是這樣,您可以通過將引用傳遞到新的視圖控制器來將數據存儲在原始視圖控制器中。然後你可以設置值。該模型有一點涉及。它需要一種「方式」來存儲數據,例如Apple的Core Data框架。如果您對Object Orient Programming不太熟悉,那麼現在可能是退後一步並獲得一些好書並學習如何在程序中交互對象的好時機。 – Rob 2012-04-20 12:51:55

+0

如果你想保存很多數據,這是你的評論聽起來像。研究核心數據。這是一個Apple框架,用於保存,存儲和查詢數據。它非常強大。 – Rob 2012-04-20 12:58:06