【问题标题】:Swift delegate calling fatal errorSwift委托调用致命错误
【发布时间】:2017-06-07 14:23:12
【问题描述】:

我正在尝试在 Swift 3.0 中调用委托函数。在调用时我收到一个错误,指出“致命错误:在展开可选值时意外发现 nil”。我已经给出了静态值,动态值没有用。

 protocol getServiceDelegate{
    func getService(_ ServiceTitle: String)

}

我用以下方式称呼这个代表。

 self.delegate.getService("hello")

我在这里做错了什么。在它下面我设置了委托。

func textServiceTapped(img: AnyObject)
{
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewController(withIdentifier: "ProviderMoreDetailsVC") as! ProviderMoreDetailsViewController

    vc.delegate = self
    navigationController?.pushViewController(vc,
                                             animated: true)

}

func getService(_ ServiceTitle: String){
    textService.text = ServiceTitle

}

【问题讨论】:

  • 可能是你忘了设置代理在哪里实现它。
  • 否,已设置委托
  • 那你也需要显示它的代码。
  • 检查textService的插座是否正确连接。
  • 已连接

标签: swift delegates


【解决方案1】:

我使用下面的代码解决了这个错误

var delegate: getServiceDelegate?
 sampleDelegateString = "hello"
 self.delegate?.getService(sampleDelegateString!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多