Swift2で “Hello World”(その3)

Xcode7とSwiftを使って、単純な文字列の表示だけはできました。
日付と時刻の表示もなんとかなりました。
でも、時刻をAnyObjectから数値として変換できずに止まっています。

NSDateから時刻部分を切り出しString型への変換までは行けるのですが、切り出したものを数値化できません。
let intValue: Int = strValue.toInt()
でエラー「toIntは無しよ」になってしまいます。
let intValue: Int = Int(strValue)
も同様にエラーです。
あちこちのサンプルコードをコピペして、Playgroundで試してみているのですが、全部アウト。
時刻によって挨拶の内容を変えたい。
ただこれだけなんですが、嵌りにハマっています。

何故、うちの環境ではダメなのかしらん。βだから?(んなこたぁ無い)
そういえば、Xcode6も入っているのだから試してみればいい、ということで。
検索したサイトから見つけたソースをPlaygroundに貼り込んでみました。
var stringNumber = "1234"
var numberFromString = stringNumber.toInt()
println(numberFromString)

Xcode6で開くと、問題無し。
Xcode7-betaだとstringNumber.toInt()でエラーになります。メッセージはこう。
Swift.String:7:8: note: 'toInt()' has been explicitly marked unavailable here
func toInt() -> Int?

なんなんでしょうねぇ。
もう一度、beta版をインストールし直してみましたが、相変わらず。

じゃぁ、Xcode6だとどうなのかな。
HelloWorldをコンパイルしてみました。
別のところ(LaunchScreen.storyboardに貼り込んだ画像)でエラーになりましたが、もう一度Xcode7-betaに戻るとコンパイルが通るようになりました。
もう、どうなっているんだかサッパリ判りません。(涙)
行ったり来たりして、あちこち弄っているうちに、LaunchScreen.storyboard上に貼り込んだ画像が表示されなくなってしまいました。Xcode上では見えているんですが、エミュレータでもiPhone6上でも見えません。
それでも、時刻によって挨拶が変わるところまではできました。(長かった)

後日譚

挨拶が変わっていなかったんですねぇ。
NSDateからAnyObjectsの配列にして、その配列からas IntでInt型の変数へ入れたんですが、nilになってました。(気が付きませんでした)
次に行ったのは、NSDateからAnyObjectsの配列までは一緒。
それから、一度Stringにして、それをInt(strValue)で数値化しました。
これでなんとか数値として時刻を数値にして取り出せました。
なんだか、ぐるぐる回っちゃって無意味なことをしているとしか思えませんが、まぁ仕方が無い。動けば正義です。

コメントを残す