我正在尝试制作一个"添加到购物车"在斯威夫特的一家零售店。我目前的问题是,我正试图通过一个标签'它将数据库信息从一个视图控制器传送到另一个。问题是标签带有信息。大多数教程讨论如何将文本字段传递到另一个视图控制器。我需要将信息传递给作为购物车的popover。
这是我认为最有用的视频,但它使用文本字段,我需要将标签传递给标签。或者换句话说,将带有数据的标签传递给popover。
提前感谢您的帮助
答案 0 :(得分:0)
您不应在View Controllers之间传递标签。而是将附加到标签的文本作为字符串传递。
如果您花时间阅读本教程,我保证会解决您的问题。
http://www.appcoda.com/storyboards-ios-tutorial-pass-data-between-view-controller-with-segue/
答案 1 :(得分:0)
首先,您应该从不使用标签来"携带信息"。将数据传递给视图控制器应该通过您所呈现的视图控制器中的变量(如string,int或自定义对象等)进行。然后,您可以在视图控制器成功加载后显示该数据。如果您观看您要链接的教程视频,演示者就会这样做。他通过字符串而不是标签传递数据。他在视图控制器加载时将字符串数据加载到标签中。
如果您希望显示的视图控制器显示为弹出窗口,您只需更改segue演示文稿类型以在Interface Builder中使用popover。你在prepareForSegue:
函数中传递字符串,就像他在教程中告诉你的那样。您需要的一切都在该教程中。你真正需要改变的唯一一件事是第二种视图控制器呈现类型 - 应该是"作为Popover"而不是"显示(例如推送)"。
<强>更新强>
您的问题表明您还没有理解模型 - 视图 - 控制器的工作原理。您尝试显示的视图控制器需要在其中包含一个变量,该变量只保存数据(模型),直到显示它为止(视图/视图控制器)。观看您的视频并听取他讨论名为LabelText
的字符串变量(它实际上应该命名为labelText
以符合正确的Swift语法,但这是一个不同的讨论)。他开始在10分钟左右开始讨论它。它在prepareForSegue:
函数中设置变量。然后,在新视图控制器内,他在标签的文本字段中显示String变量的内容。将String变量视为&#34;占位符&#34;你指的是。