使用导航控制器中的后退按钮时,UITextView中的内容将丢失



我有一个使用tabBarController的iOS应用程序。每个选项卡根视图都是一个导航控制器。在其中一个选项卡中,我使用导航栏上的按钮将我推到包含UITextView的UIViewController。

我遇到的问题是,当按下导航栏上的后退按钮时,添加到UITextView的任何内容都会丢失。我发现了一些类似的问题,所有的解决方案都截然不同。我不知道如何从这里开始。

为了清楚我想做什么。用户可以在UITextView中输入一些文本,并在不丢失的情况下导航回第一个视图。当他们选择返回第二个视图时,文本应该在UITextView中。

UITextView在两个导航视图之间的内容处理建议使用委托类的string来保留文本。我在这里很担心,因为我不确定它是否会保持用户可能的段落格式。

我已经在整个应用程序中使用了核心数据,所以我可以很容易地创建一个属性来存储这些数据。我只是不确定什么是合适/最好/最简单的方法。

完成我想做的事情的最佳方式是什么?我是个新手,所以Snippets真的很有帮助!

更新更多相关信息

UITextView中的文本旨在最终发布到服务器。我只需要保留文本,直到他们发布。该应用程序有登录名,所以他们总是有可能注销并再次登录,甚至是其他人。如果我理解正确,这将导致创建一个新的managedObjectContext,从而清除我为个人存储的所有核心数据以及NSUserDefaults。有没有一种方法可以通过我上面描述的过程来存储文本?

您描述的文本仅在一个视图控制器中使用,而无需将其传递回另一个视图控件。

因此,您可以从文本视图中获取属性字符串(当编辑会话完成或视图从屏幕中删除时)。它符合NSCoding,因此您可以将其转换为数据并将数据保存到磁盘/数据库中。

稍后,当视图重新显示时,您可以从磁盘加载数据并重新创建文本以供显示。

最新更新