その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

第5回、第6回 #potatotips で勉強になったことのまとめ

例のごとく、『第5回 #potatotips』『第6回 #potatotips』について @hirama2 さんの記事を読んでキャッチアップさせていただきました。


で、ちまちまメモとして勉強になったことをツイートしてたのですが、わりとふぁぼられ率が高いので、ニーズあるかもしれないのでこちらにまとめておきます。

『え!?Storyboard使ってるのにそんな画面遷移のしかたしてるのですか!?』

ViewControllerを疎結合にしておくための、値の受け渡し方の提案、およびそれを実現するための TKRIntent の話 by @tokorom さん。


スライドでは「そもそものstoryboardのいいところ」から始まり、「困るケース」「解決案」と順を追って説明してくれるので、すごくなるほど感があります。



直近の案件でまさにそういう状況になってたので、タイムリーに響きました。

『SDWebImageを1年半使ってみた』

超定番ライブラリ、SDWebImage の諸々の使い方や、職人的に気が利いてるところの紹介 by @ninjinkun さん。FastImageCache との併用例も。



「非同期で画像をとってきてくれるライブラリ」は過去にもいろいろなものが台頭しましたが、このスライドを読んで、SDWebImage はそれらの決定版なんだなーと。


最後のページの「自前の実装は捨てましょう」が個人的にグッときました *1

『デバッグ時のカスタムQuick Look機能』

by @TachibanaKaoruさん。


個人的にこのTipsを知ったときは超テンション上がりました。


下記記事にキャプチャ入りで詳細に書かれています。

『多段delegateをResponder Chainで取り除く方法』

Responder Chainをたどって、移譲先(セレクタが実装されているコントローラ)を見つけて、処理してもらう方法。


delegate が多段になってつらくなる、というケースも結構あるあるなので、今度試してみようと思います。

『iOS simulatorでもcolored logcatしたい!』


タイトルだけ見たときは、「コンソールのログ出力に色をつけてくれるXcodeプラグインなのかな?」と思ったのですが、記事を読んでみると、

  • ブラウザでログを見る
  • 複数アプリのログを見ることができる
    • url schemeでアプリ間を行き来する際のログを追うこともできる

という特徴があり、しくみとしては、

  • goのlogcat serverがブラウザにログを送る
  • ログの整形は template/main.html で行っている

となっているそうです。


こういうやり方もあるのかーと勉強になりました。

*1:UIScrollView をベースに、自前でつくってたカルーセルUIコンポーネントがあったのですが、ふと『iCarousel』(こちらも超有名OSS)を見てみたら、そっちの方がずっとよくできてて、自分の実装はあっさり葬り去ることになったという。(iCarouselは「カバーフローをつくるもの」という思い込みがあって、当初は選択肢として考えてなかった)