« signal SIGABRTの悪夢 | トップページ | キーボードは自分で消さなくてはならないのだった »

なぜか内部で生きてるFloat変数

 指南本によると、swiftのデフォルト小数点精度はDoubleである、とあります。
 それを信じて、UISlider(スライダー)を配置し、その数値を音声合成の"utterance.voice"や"utterance.rate"の純正オプションに代入しようとすると、「Cannot assign a value of type'Float' to a value of 'Double'"とXcodeに叱られました。
 
 え?と訝しがりつつ、DoubleをFloat精度に落とす方法を探してみたら、「var 変数名:Float = n」と最初に初期値とともに宣言しておけば、スライダーからの数値もFloat精度で代入されて問題解決。
 とりあえずこれで問題解決したんですが、なんかswiftの設定がザルな印象。
 
 このスライダーの値の取り扱い、ネットにはOutletとして接続し、String扱いの文字列として引き継ぐ例文がよくあります。 私はそのまま数字で渡せばいいやん、と生意気にもActionとしたので、この小数点精度の問題に面したのかもしれません。

|

« signal SIGABRTの悪夢 | トップページ | キーボードは自分で消さなくてはならないのだった »

iOS と Xcode」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« signal SIGABRTの悪夢 | トップページ | キーボードは自分で消さなくてはならないのだった »