2017-01-23 73 views
0

我想调用Swift 3.0中的委托函数。在调用时,我得到一个错误,其中指出“致命错误:意外地发现零,同时解开一个可选值”。我已经通过给静态值,动态值没有用。Swift代表调用致命错误

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 

} 
+1

可能是你忘了设置在那里正在实施其委托解决错误。 –

+0

不,已经设置了代理 – user2702179

+0

然后你需要显示那个代码。 –

回答

0

我用下面的代码

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