所以这就是我的问题。
首先ViewController
有一些关于姓名,日期,否的字段。一个事件的人(用户创建和事件)。它还有一个按钮,可以将用户转换为具有viewController
的新mapView
,用户将创建一个Pin。用户创建Pin后,用户可以按下该针(或执行一些确认Pin用户放置在地图上的其他操作正确),并且用户将转换到新的tableViewController
,其中有多个位置靠近Pin他选中(使用Foursquare API)。
然后,用户必须转换到第一个ViewController
。必须将点按的位置用户发送到第一个ViewController
。
这是我第一次使用多个ViewControllers
,我需要你的帮助。
我该怎么做(请不要错过任何细节:D)?
答案 0 :(得分:0)
使用展开segue通过导航控制器中嵌入的视图控制器向后传递数据。
这是一个简短的例子。
在第一个视图控制器中,您可以使用以下内容:
var text: String?
@IBAction func unwindSegue(segue: UIStoryboardSegue) {
if let viewController = segue.sourceViewController as? ViewController2 {
text = viewController.textField.text
}
print(text!)
}
在故事板上的第二个视图控制器中添加展开segue,方法是从视图控制器(带方形的黄色圆圈)到退出图标(位于视图控制器顶部或文档大纲中)拖动然后单击您创建的展开segue以创建手动segue。然后在文档大纲中设置展开segue的标识符,以便您可以参考它(我简单地称之为"放松& #34;对于这个例子)。
在第二个视图控制器(您要从中传回的控制器)中添加:
@IBOutlet var textField: UITextField!
@IBAction func backButton(sender: AnyObject) {
self.performSegueWithIdentifier("Unwind", sender: nil)
}
这个简单的示例将允许您从第二个视图控制器中的textField
传回文本。
n.b。您可以一次展开多个视图。