public private(set)って結局どっちなの!?
beta 5から追加されたアクセス制限指定子ですが、その仕様に疑問の声が!https://t.co/Nkn0Yiz7Hn public private(set) var number = 0 // ゴッドキモい
— akisute (@akisutesama) September 5, 2014
なるほど、public private(set) var numberはキモいですね〜。ちなみにこれはgetterがpublicでsetterがprivateな変数の宣言のようです。なんかもっといい文法はなかったんでしょうか・・・
一行closureを使うときに注意!思わぬ落とし穴が!
スイフトさー、さんざんすでに言われてるかもしれないんだけど、返り値がVoidのclosureでさー
{ something in
something.save() // let's say this returns Bool
}
ってやると返り値の型が違うって怒るのやめれ
— akisute (@akisutesama) September 5, 2014
更に糞なのは
{ something in
something.save() // let's say this returns Bool
something.save() // ditto
}
これはコンパイルエラーにならない。暗黙的returnは一行のときだけだから
— akisute (@akisutesama) September 5, 2014
これはSwiftの言語仕様上、実行コードが一行しかないclosureは暗黙的にreturnするものとみなされてしまうからのようです。これはちょっとひどいですね〜〜!
中には良い一面も・・・?
https://t.co/hzgpkhqHDw Nil Coalescing Operatorべんりだ、ドヤ顔で if let v = opt { return v } else { return "" } とか書かなくて済む
— akisute (@akisutesama) September 5, 2014
Nil Coalescing Operatorというのは ?? 演算子のことです。これは A ?? B のように使い、AがNot NilならAを、そうでなければBを返すという演算子です。なかなか便利に使えますよ!ちょっとはSwiftも見なおしたかも!?