我是Swift的初学者,我一直在努力理解使用委托和协议在page_1和page_2之间发送变量的方式。
我有一个两页的应用程序:ViewController1.swift和ViewController2.swift -在第1页(ViewController1.swift),我有一个文本框(TextBoxControl)和一个按钮。 -在第2页(ViewController2.swift),我有一个标签和一个按钮
我想将xtbox中的文本从第1页发送到第2页,并在第2页中打印。
问题是委托始终为nil(它在控制台上打印 ...打印(“代表为零”)。 )
技术:XCODE版本9.4.1,快速4
我该如何解决?
谢谢。
答案 0 :(得分:1)
如果要将数据从ViewController1发送到ViewController2,则只需执行以下步骤。
步骤1:
在ViewController2中设置一个变量:
var strValue : String?
步骤2:
在按钮操作ViewController1中将此代码写入
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let destination = storyboard.instantiateViewController(withIdentifier: "ViewController2") as! ViewController2
destination.strValue = yourTextBoxControl.text
self.navigationController?.pushViewController(destination, animated: true)
步骤3:
在ViewController2类中,您可以轻松地获得以下值:
override func viewDidLoad() {
super.viewDidLoad()
print(strValue)
}
感谢希望能对您有所帮助。