まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

swiftのvarとletってどっち使えばいいの?

varは変数で、letは定数ってことだと思ってるけど、 じゃあ、letで宣言した変数のプロパティを変更するのはOKなの? という疑問があったので、調べた。

letで宣言したやつは、インスタンスのプロパティは変更してもOK。 letで宣言したやつに、再代入するのがダメってこと。 ってことは、まぁ基本は、let使っておいて、再代入しなければならないなら、varを使えばいいって考えでいいのかな。

var varDate = NSDate() // 2014/6/12 1:00
varDate.dateByAddingTimeInterval(60*60*1) // 2014/6/12 2:00
varDate // 2014/6/12 1:00
varDate = varDate.dateByAddingTimeInterval(60*60*5) // 2014/6/12 6:00
varDate // 2014/6/12 6:00

let letDate = NSDate() // 2014/6/12 1:00
letDate.dateByAddingTimeInterval(60*60*1) // 2014/6/12 2:00
letDate // 2014/6/12 1:00
letDate = letDate.dateByAddingTimeInterval(60*60*5) // これはダメ!!
letDate // ここまでこない

結果は、こんな感じ。すっきりした。

関係ないけど、swiftのシンタックスハイライト対応まだかな?期待して、あえて、コードブロックには、swiftと指定しておくw 追記 3年たった今ではすっかりswiftも当たり前になりましたね。