在后台临时存储 UITextView 的文本和光标位置的推荐方法

Recommended Way to Temporarily Store Text and Cursor Position for UITextView When Backgrounded

我有一个带有文本属性字符串的 UITextView。当我关闭并重新打开视图或应用程序背景并返回时,textView 中的文本消失了。我希望能够暂时保存它直到用户提交它。推荐的方式是什么?

我先尝试了 UIPasteboard,但是 运行 遇到奇怪的问题,在应用程序后台运行后我的 textview 表现得很奇怪,我回来了。文本在那里,但光标位置永远不会更新,并且永远不会再调用 UIViewRepresentable 中的 updateUIView。

我还可以创建一个环境对象来存储文本和光标位置,直到用户准备好提交。

对正确的策略有什么见解吗?

我推荐使用 userdefaults 来保存简短的临时数据。当用户将应用程序置于后台时,您可以将通知设置为关闭,并且您的 viewcontroller 可以观察通知。您还可以使用相同的通知从 userdefaults 获取文本数据并将其显示在 textView