我收到此错误“使用此Swift代码时,无法使用类型'(CGFloat,CGFloat)'的参数列表调用'+'。
var added = CGFloat(gestureRecognizer.view?.center.y) + CGFloat(translation.y)
我做错了什么。我有两个花车,我想把它们加在一起。
答案 0 :(得分:3)
这一行:
gestureRecognizer.view?.center.y
可以被认为是一个返回CGFloat?
可选项的表达式。如果view
为nil
,则返回nil
。如果view
有值,则会深入研究。CGFloat(nil)
是编译错误。
var added = CGFloat(gestureRecognizer.view!.center.y) + CGFloat(translation.y)
// ^ ! instead of ?
你真的想在这里打开它。因为如果view
为nil
,则会将nil
传递给CGFloat()
,这不会很酷。但您必须考虑view
为nil
时可能发生的情况。
也许这不会发生在你的节目流程中,我不知道。但如果nil
会导致运行时崩溃。