【发布时间】:2014-08-31 05:37:35
【问题描述】:
我是编程和 Swift 的新手,我正在尝试了解如何使用协议和委托在两个视图控制器(无 segue)之间传递数据。
我有一个视图控制器 (VIEW A),它有一个文本字段和按钮。当用户点击该按钮时,它应该在另一个视图控制器 (VIEW B) 的标签中显示该文本。
我无法让标签显示文本 - 我希望能解释一下完成这项工作所需的条件。
非常感谢!
import UIKit
protocol sendNameToViewB {
func showNameLabel(name:String)
}
class ViewA: UIViewController {
var delegate: sendNameToViewB?
@IBOutlet weak var textField: UITextField!
@IBAction func addButton(sender: AnyObject) {
delegate?.showNameLabel(textField.text)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class ViewB: UIViewController, sendNameToViewB {
@IBOutlet weak var theLabel: UILabel!
func showNameLabel(name: String) {
theLabel.text = name
}
}
【问题讨论】:
标签: ios xcode delegates swift protocols