【问题标题】:Cannot pass data to a label with delegation无法通过委托将数据传递给标签
【发布时间】:2018-05-04 03:47:00
【问题描述】:

我的控制台打印:“ModelToControllerDelegate.Model”。

导入基础

类模型{ 让名字:字符串 让姓氏:字符串

init(firstName: String, lastName: String) {
    self.firstName = firstName
    self.lastName = lastName
}

}

导入基础

协议DataModelDelegate:类{ func didRecievedDataUpdate(数据:模型) }

类模型控制器 {

weak var delegate: DataModelDelegate?

func requestData() {
    let data = Model(firstName: "Jack", lastName: "Johnson")
    delegate?.didRecievedDataUpdate(data: data)

}

}

导入 UIKit

类视图控制器:UIViewController {

let modelController = ModelController()

@IBOutlet weak var label: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    modelController.delegate = self
    modelController.requestData()
}

}

扩展视图控制器:DataModelDelegate { func didRecievedDataUpdate(数据:模型){ 打印(数据) } }

【问题讨论】:

    标签: swift4


    【解决方案1】:

    添加

        extension ViewController: DataModelDelegate { 
         func didRecievedDataUpdate(data: Model) { 
         print(data) // data is object of class Model so output is"ModelToControllerDelegate.Model"
         print(data.firstName) // firstName is String so Output is Jack
         print(data.lastName)  // lastName is String so Output is Johnson
         } 
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 2017-06-12
      • 2020-07-28
      • 1970-01-01
      • 2018-05-07
      相关资源
      最近更新 更多