我得到了:
有条件绑定的初始化器必须具有可选类型,而不是'(cllocation coortion2d,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)
}
}
我试图在此处获得功能。
" func"在这里不正确:
guard let popup = self.popupFunc else {return}
从错误以及您的其余讨论和代码中,您似乎是含义:
guard let popup = self.popup else {return}
尚不清楚什么是popupFunc
。它已定义,您只是在这里不列出它。也许您不小心允许自动完成选择错误的属性?