微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用委托将数据从初始视图控制器传递到第二个视图控制器-Swift

如何解决使用委托将数据从初始视图控制器传递到第二个视图控制器-Swift

我试图更好地理解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.
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。