このプログラムはXcodeでコンパイルできません。IOSアプリケーション "Playgrounds"でのみ実行できます。 IOSアプリケーションで'Int'型の初期化子を '(Number)'型の引数リストで呼び出せません
"遊び場" - > "コード3に学び"(スウィフト3.1) - > "ミュージック・ユニバースは、" 私は、コードの下にあります
// A touch event for when your finger is moving across the scene.
// Declaration
struct Touch
// The position of this touch on the scene.
// Declaration
var position: Point
// The x coordinate for the point.
// Declaration for touch.position.x
var x: Double
上記を単に説明するために。
let touch: Touch
let numberOfNotes = 16
let normalizedXPosition = (touch.position.x + 500)/1000
let note = normalizedXPosition * (numberOfNotes - 1)
let index = Int(note)
最後の文ショーのエラー: 型の引数リストを持つタイプ「のInt」「(番号)」の初期化子を呼び出すことはできません。 note
をInt
タイプに変換するにはどうすればよいですか?
'touch.position.x'を持って何種類? - 問題を示す自己完結型*の例が参考になります。 –
最初の見方では、私は 'touch.position.x'型がCGFloatだと思っていましたが、' let note = normalizedXPosition *(numberOfNotes - 1) 'でコンパイル時にエラーが発生するはずではないようですIntとCGFloatの間の掛け算について。 –
touch.position.xのコメントを追加しました。touch.position.xタイプは 'Double' – linjie