我试图更好地理解Swift中的委托,并且我已经看到如何使用委托将数据从第二个视图控制器传递回初始视图控制器。但是我对于如何使用委托将数据从初始视图传递到第二个视图感到困惑。我已经在我的初始视图中初始化了一个委托的实例,并在第二个视图中实现了委托协议,但是使用委托将数据从初始视图传递到第二个视图仍然没有成功。关于我可能做错了什么的任何建议,将不胜感激!这是我国代表团尝试的情节提要视图。 1
初始视图类:
import UIKit
class ViewController: UIViewController {
var data: DataDelegate?
@IBOutlet weak var text: UITextField!
@IBOutlet weak var send: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func send(_ sender: Any) {
let msg = text.text!
data?.sendData(data: msg)
print("SENDING MESSAGE: \(msg)")
}
}
protocol DataDelegate {
func sendData(data: String)
}
Second View Class:
import UIKit
class RVC: UIViewController, DataDelegate {
@IBOutlet weak var delegationLabel: UILabel!
@IBOutlet weak var message: UILabel!
@IBOutlet weak var back: UIButton!
let vc = ViewController()
func sendData(data: String) {
print("DATA SENT")
let msg = data
print(msg)
message.text = data
}
override func viewDidLoad() {
super.viewDidLoad()
print("LOADED")
vc.data = self
// Do any additional setup after loading the view.
}
}