Swift 委托(delegate)调用 fatal error

标签 swift delegates

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

 protocol getServiceDelegate{
    func getService(_ ServiceTitle: String)

}

我按以下方式调用该委托(delegate)。

 self.delegate.getService("hello")

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

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

}

最佳答案

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

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

关于Swift 委托(delegate)调用 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41800193/

相关文章:

objective-c - 调用委托(delegate)方法不起作用

ios - 如何为目标 V​​C 的子项设置协议(protocol)委托(delegate)?

ios - 从不同的 View 更改 UITabBarItem 的标签

swift - 在 Swift 中,遵守协议(protocol)的对象是否绝对需要委托(delegate)变量才能使用协议(protocol)?

swift - 如何压制 "result not used"警告

swift - CGContext.init 返回 nil

swift - 如何在分组 TableView 中添加部分?

ios - NSMutableAttributedString 不起作用

ios - Xcode Swift 删除 MKPolyline

swift - 编辑- UITableView 单元格按钮操作委托(delegate)- Swift 4