Swift2.0
Swift2のプロジェクトの話 NSTimerを扱う処理を書いており、userInfoにBool値を渡して、後から安全にキャストして取り出す処理をguard letを使って下記のように書いていた。 // Swift2 // before func hoge(timer: NSTimer?) { guard let timer = timer, fla…
NSTimerで処理を書いた際、repeatsをtrueにしているのに繰り返し処理してくれないで悩んだことがあった。initメソッドの public /*not inherited*/ init(timeInterval ti: NSTimeInterval, target aTarget: AnyObject, selector aSelector: Selector, userIn…
Swiftで色々便利になったり、融通が効きやすくなったけど、 個々の状況では不便だな〜とか、こういうメソッドあったらいいのに〜と 思うことも多々ある。そんな時はextensionして使い勝手良くしてしまえばいい。 現場で教えて貰ったextensionで便利だなーと…
結論:インスタンスはプロパティで保持しろ do { let player = try AVAudioPlayer(contentsOfURL: fileUrl) player.volume = 1.0 player.numberOfLoops = 0 guard player.prepareToPlay() else { return } player.play() } catch let error as NSError { pri…
使い方次第では便利なdeferだけど、理解しているようでやや理解していないというか勘違いしていた話。 // defer使用方法 defer { // 後から行いたい処理 } 下のような書き方してて、ふと処理Aと処理Bどちらが後から処理されるんだろうと思った。理解している…
qiita.com上記記事をひょんなことで知って、そんな書き方もあるのか!!と目から鱗状態になり、 記事が少し古いから今のSwiftで使えるか確認しつつ気になったことをPlaygroundで検証してみた。 (たぶん自分がまだ無知なだけで、Swift慣れている人は知ってい…
Swift2からoptional型をunwrapを保証しつつnilでないことを確認するためにguard let構文が用意されるようになった。 非常に便利なので積極的に使われるけど、括弧やreturnが必要なのでいくつもguard letを使おうとするとかさばるとおもっていた。しかし、実…
Swift2でtagを設定したObjectからenumに変換する時に調べたので、備忘録として残す enumType(rawValue: numberType) ざっくり書けばこんなん。 // tagをenumに変換 guard let direction = Direction(rawValue: sender.tag) else { return }
ViewControllerのbackgroundColorに色設定しようとしたのに、何故か真っ暗になって困った話 viewWillAppear(_:)でUIColorでCGFloat(0xNN / 0xMM)みたいに指定して色設定しているのに、実際に表示せたら画面が黒一色だった。 print文で吐かせて数値みたら下記…
そのままだと使いにくい、使えないので拡張やオーバライドして使ってるメソッド ローカライズの文字列呼び出す時、"commnet"は基本空文字だし、呼び出しが長くなるのはよろしくないのでこんな感じで定義してる func EXLocalizeString(key: String) -> String…
Swift使ってて今更ながら知ったこと。 CGRectがsizeを挟まずにwidthとheightを取ってこれる self.view.frame.size.width が self.view.frame.width になるなんて…なんて楽なんだ。アプリの登録は済ませ、1度も公開していない状態でStoreのURLを知りたいとい…
Swift2.0から導入されたnilチェックとアンラップが同時に行えるguard構文のよくある形は下記書き方だと思う。 guard let fuga = hoge else { return } ただいつも書いてて思うのが、hogeをアンラップするのに新しい変数名を考えなければいけないことが気にな…
仕事では、いまだそんなに触れる機会が訪れないだよなーSwiftは。 あと個人的にライブラリって継続してサポートする保証がないから個人的にはあまり好きじゃない。アプリを作っておしまい!サポートは新iOSとかしないよ!みたいな作りっぱなしであれば その…