【发布时间】:2020-08-11 12:10:53
【问题描述】:
我有第一个 viewController 里面有 UILabel 和 secondViewController 有 UItextField 和添加按钮。它们嵌入在标签栏中。当单击添加按钮到第一个视图控制器的 uilabel 时,我想从文本字段传递数据。
protocol SendDelagate
{
func setData(string:String)
}
第一个视图控制器是
class ViewController: UIViewController,SendDelagate{
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let vc = SecondViewController()
vc.delegates = self
}
func setData(string: String) {
label.text = string
}
}
第二个 ViewController 是
class SecondViewController: UIViewController {
var delegates:SendDelagate?
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func addButton(_ sender: UIButton) {
let text = textField.text!
delegates?.setData(string: text)
}
}
【问题讨论】:
-
` let vc = SecondViewController()` 创建
SecondViewController的新实例,可能不是你看到的那个。 -
您可以找到许多不同方法的示例。使用哪种方法取决于您认为您的应用程序在开发过程中需要什么。去谷歌(或你最喜欢的搜索引擎)并搜索
uitabbarcontroller pass data between tabs swift -
你是如何从第一个 vc 导航到第二个 vc 的?您如何导航第二个vc?它是使用故事板创建的吗?同样在
vc中,您在第一个 Viewcontroller 中创建的viewDidLoad完成后将超出范围
标签: ios swift delegates protocols