无法弄清楚如何添加两个CGFloats?

时间:2014-09-25 23:42:27

标签: swift

我收到此错误“使用此Swift代码时,无法使用类型'(CGFloat,CGFloat)'的参数列表调用'+'。

var added = CGFloat(gestureRecognizer.view?.center.y) + CGFloat(translation.y)

我做错了什么。我有两个花车,我想把它们加在一起。

1 个答案:

答案 0 :(得分:3)

这一行:

gestureRecognizer.view?.center.y

可以被认为是一个返回CGFloat?可选项的表达式。如果viewnil,则返回nil。如果view有值,则会深入研究。CGFloat(nil)是编译错误。

var added = CGFloat(gestureRecognizer.view!.center.y) + CGFloat(translation.y)
//                                        ^ ! instead of ?

你真的想在这里打开它。因为如果viewnil,则会将nil传递给CGFloat(),这不会很酷。但您必须考虑viewnil时可能发生的情况。

也许这不会发生在你的节目流程中,我不知道。但如果nil会导致运行时崩溃。