例のごとく、『第5回 #potatotips』『第6回 #potatotips』について @hirama2 さんの記事を読んでキャッチアップさせていただきました。
- 第5回 #potatotips で発表された12個のiOSのtipsをまとめる - Think Big Act Local
- 第6回はUIEvolution開催! #potatotips で発表されたiOSのtipsまとめ - Think Big Act Local
で、ちまちまメモとして勉強になったことをツイートしてたのですが、わりとふぁぼられ率が高いので、ニーズあるかもしれないのでこちらにまとめておきます。
『え!?Storyboard使ってるのにそんな画面遷移のしかたしてるのですか!?』
ViewControllerを疎結合にしておくための、値の受け渡し方の提案、およびそれを実現するための TKRIntent の話 by @tokorom さん。
スライドでは「そもそものstoryboardのいいところ」から始まり、「困るケース」「解決案」と順を追って説明してくれるので、すごくなるほど感があります。
直近の案件でまさにそういう状況になってたので、タイムリーに響きました。
「遷移先に値を渡す」「遷移先が複数ある」=>「密結合、ぐちゃぐちゃ」になってつらかったことがつい最近あったのでTKRIntentすごくよさそう。 / え!? Storyboard使ってるのにそんな画面遷移のしかたしてるのですか!? https://t.co/kCgP2sjcIN
— Tsutsumi Shuichi (@shu223) April 10, 2014
『SDWebImageを1年半使ってみた』
超定番ライブラリ、SDWebImage の諸々の使い方や、職人的に気が利いてるところの紹介 by @ninjinkun さん。FastImageCache との併用例も。
「非同期で画像をとってきてくれるライブラリ」は過去にもいろいろなものが台頭しましたが、このスライドを読んで、SDWebImage はそれらの決定版なんだなーと。
最後のページの「自前の実装は捨てましょう」が個人的にグッときました *1。
「この辺り自前で実装すると空気読むのが大変」「自前の実装は捨てましょう」最近別ライブラリ(画像フェッチャーではない)でそういうことあったのでグッときた。 / SDWebImageを1年半使ってみた http://t.co/U91V15gALx
— Tsutsumi Shuichi (@shu223) April 10, 2014
『デバッグ時のカスタムQuick Look機能』
by @TachibanaKaoruさん。
個人的にこのTipsを知ったときは超テンション上がりました。
QuickLook知らなかった・・!UIBezierPathやCLLocation、独自UIViewまでデバッグ時に表示できるってめっちゃいいな。2週間前に知りたかった。 / Xcode の Quick Look で艦娘をデバッグする http://t.co/4YrFBEwV6q
— Tsutsumi Shuichi (@shu223) April 10, 2014
下記記事にキャプチャ入りで詳細に書かれています。
『多段delegateをResponder Chainで取り除く方法』
Responder Chainをたどって、移譲先(セレクタが実装されているコントローラ)を見つけて、処理してもらう方法。
delegate が多段になってつらくなる、というケースも結構あるあるなので、今度試してみようと思います。
『iOS simulatorでもcolored logcatしたい!』
タイトルだけ見たときは、「コンソールのログ出力に色をつけてくれるXcodeプラグインなのかな?」と思ったのですが、記事を読んでみると、
- ブラウザでログを見る
- 複数アプリのログを見ることができる
- url schemeでアプリ間を行き来する際のログを追うこともできる
という特徴があり、しくみとしては、
- goのlogcat serverがブラウザにログを送る
- ログの整形は template/main.html で行っている
となっているそうです。
こういうやり方もあるのかーと勉強になりました。
関連
- http://d.hatena.ne.jp/shu223/20140210/1392034196
- http://d.hatena.ne.jp/shu223/20131220/1387517015
- http://d.hatena.ne.jp/shu223/20130502/1367379393
- http://d.hatena.ne.jp/shu223/20120117/1326822089
- http://d.hatena.ne.jp/shu223/20110531/1307300906
*1:UIScrollView をベースに、自前でつくってたカルーセルUIコンポーネントがあったのですが、ふと『iCarousel』(こちらも超有名OSS)を見てみたら、そっちの方がずっとよくできてて、自分の実装はあっさり葬り去ることになったという。(iCarouselは「カバーフローをつくるもの」という思い込みがあって、当初は選択肢として考えてなかった)