2012-03-11 53 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