我当前的设置
视图控制器3:
此视图控制器有 18 个垂直堆叠的TextFields
。这是"设置"屏幕,用户可以在其中添加其默认文本(单个单词,注释或句子(。此视图还有一个save
按钮,可以使用UserDefaults
保存,该按钮工作正常。
要访问此视图(设置屏幕(,用户通过显示 segue 点击位于主视图(ViewController1
(上的settings
按钮。对默认文本完成所有编辑后(通常是一次关闭并一次又一次地重复使用(,他们点击save
按钮,然后点击Done
按钮返回ViewController1
。
视图控制器2:
此视图控制器具有匹配的 18 个文本字段(再次垂直堆叠(,但每个文本字段都有一个选择开关。如果开关处于活动状态,则表示选择了TextField
。在垂直堆叠的 18 个TextFields
中,用户可以选择任何给定数量的它们。
然后,所选文本将填充为从Send Email
按钮发送回ViewController1
的电子邮件的邮件正文中的选定文本列表。
视图控制器 1:
这是应用程序的主要视图,应用程序将在将所需文本输入多个TextFields
后发送电子邮件,它包括具有所选文本列表的TextView
ViewController2
注意:视图控制器之间的所有过渡都是通过显示 segue 进行的。
问题1:
什么代码或如何编写代码以使 ViewController2 中的文本字段能够自动填充(复制或镜像(已输入到视图控制器 3 中的文本字段?
问题2:
如何让 ViewController2 中的选定文本字段在电子邮件正文中显示为项目列表,但垂直堆叠在其单独的行上?
好吧,让我看看我是否取消了。
- VC3 是设置视图,您可以在其中"注册"要在某个时候使用的文本。
- VC2 是您选择要使用的/发送/任何文本的视图
- VC1 是主屏幕,您可以在其中显示上面选择的文本
如果您使用的是 segue,我相信当您在 VC3 上注册或更改数据时,您的 VC2 不会被实例化。因此,通知中心不像@dahiya_boy所说的那样是一个选项。
如果要将所有数据保存在 UserDefaults 上,则当用户打开 VC2 屏幕(可能在viewDidLoad
上(时,您不能只加载此数据并应用于 VC2 上的每个文本字段吗?
你的第二个问题...问题出在哪里?
如果问题是在 VC2 和 VC1 之间传递数据,则可以使用通知中心或委派。
如果问题是如何将其显示为堆栈,则可以将其作为数组从 VC2 传递到 VC1,并使用joined(separator:)
附加所有内容,并将n
作为分隔符传递。(换行符符号(