我正进入(状态:
条件绑定的初始化程序必须具有可选类型,而不是“((CLLocationCoordinate2D,String,UIColor)-> UIView”
在以下行中:
guard let popup = self.popupFunc else {return}
这是一个常见的错误,但是我似乎无法理解为什么它会给我错误?当我在这里删除条件绑定时,我只是在它所在的函数的其他部分中遇到了一系列错误。
var popup : UIView?
以上是它的声明方式。它是在另一个扩展的VC中声明的,因此我可以添加MGLDelagate方法,并且该函数位于以下位置:
func showPopup(_ shouldShow: Bool, animated: Bool) {
guard let popup = self.popupFunc else {return}
if shouldShow {
view.addSubview(popup)
}
let alpha: CGFloat = (shouldShow ? 1 : 0)
let animation = {
popup.alpha = alpha
}
let completion = { (_: Bool) in
if !shouldShow {
popup.removeFromSuperview()
}
}
if animated {
UIView.animate(withDuration: 0.25, animations: animation, completion: completion)
} else {
animation()
completion(true)
}
}
我试图获得功能here。
最佳答案
“ Func”在这里不正确:
guard let popup = self.popupFunc else {return}
从错误以及其余的讨论和代码,您似乎已经意味着:
guard let popup = self.popup else {return}
不过,尚不清楚
popupFunc
是什么。它已定义,您只需不在此处列出。也许您不小心允许自动完成功能选择了错误的属性?