条件绑定的初始值设定项必须具有可选类型,而不是"(CLLocationCoordinate2D, String, UIColor) -> UIView"?



我得到了:

有条件绑定的初始化器必须具有可选类型,而不是'(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。它已定义,您只是在这里不列出它。也许您不小心允许自动完成选择错误的属性?

相关内容

  • 没有找到相关文章

最新更新