2012-03-11 54 views
0

我有一個TabBar應用程序,帶有2個選項卡,用於保存/從CoreData獲取數據。我遇到的問題是,當表單填滿並且用戶觸摸了保存按鈕時,視圖不會被重新加載或重新初始化。我只想讓視圖準備好讓用戶用下一組信息重複該過程。我可能沒有以正確的方式思考這個問題,所以一個正確的方向的指針將非常讚賞......在保存按鈕被觸摸後重新初始化視圖

我是否需要手動設置包括managedObjectContext在內的所有內容到零?或者有什麼我可以用像viewWillDisappear這樣的方法來完成,它會優雅地幫助我「重新初始化」特定的選項卡?

我AVE閱讀了關於視圖層次的蘋果文檔,以及生命週期,但我只是似乎混淆了自己...

在此先感謝您的任何建議,請示代碼或相關的閱讀材料,甚至建議。

+0

這是非常不明確的。告訴我們你的代碼,或者你試過的東西。按下提交按鈕後會調用一個方法,對吧?你在那裏做什麼?你應該開始一個新的數據庫抓取並重置你的文本框。 – calimarkus 2012-03-11 21:55:41

+0

感謝您的時間和迴應 - 我現在意識到我表現出我的無知,但我不確定包括我的代碼會有幫助。目前,我在保存將信息發送給核心數據後手動清理所有數組,UITextFields和標籤 - 但它只是感覺笨拙,所以我認爲我錯過了一些東西。我想要的只是在保存按鈕被觸摸後,選項卡上的表單返回其初始狀態。 – Sean 2012-03-11 22:57:35

回答

0

這聽起來像你想要做的是當用戶點擊一個按鈕時,將任何數據重新加載到它們的默認狀態。不幸的是,你必須手動完成這項工作,將每個IBOutlet的值設置爲一個有意義的默認值(可能是空字符串)。

有兩種方法我能想到的,這將有助於使這更優雅:

  • 在所有IBOutlets使用的IBOutletCollection和快速列舉循環,而不是有一堆代碼單獨做每一個。
  • 如果您在這些事件之間切換選項卡,您可以使用一些簡潔的選項,並使用您的應用程序代理作爲您的UITabBarControllerDelegate,tabBarController:didSelectViewController:來爲您調用清除方法,而不是依靠viewDidAppear
+0

感謝Ash,我想我喜歡第二種選擇的聲音 - 將花費一些時間將其應用到我的應用程序中... – Sean 2012-03-12 09:56:44