我在理解为什么以下代码在iPhone5s模拟器上可以正常运行而在iPhone5及以下版本的模拟器上不能正常运行时遇到问题。 wheel是一个SKSpriteNode。

let spinSpeed = 0.7
wheel.zRotation += spinSpeed

错误出现在增加zRotation的行上。错误:
Could not find an overload for '+=' that accepts the supplied arguments

我试过了:
wheel.zRotation += Float(spinSpeed)

它消除了iPhone5上的错误,但现在报告的是相同的错误,只是现在在iPhone5s模拟器上。

我知道5s使用64位处理器,但是我并没有太多的计算机科学背景来了解这一点的含义以及如何解决此问题,以便在两部手机上都能正常工作。

最佳答案

通过使用CGFloat而不是Float修复了此问题

wheel.zRotation += CGFloat(spinSpeed)

看起来属性zRotation是CGFloat类型。但是我仍然对为什么原始代码在5s上能正常工作感到困惑?

10-05 20:05