swiftにtapが無い
iOSアプリ開発自体、横からちょっとつつく程度にしか経験が無かったので、ちょっと1からやってみようと思い遅ればせながらswiftを触り始めました。
触っていて、欲しいと思ったのがrubyでいう Object#tap です。 ざっと探してみましたがどうやら似たようなものが無いので、Objectにextensionしようかなと思ったら、、ん?Objectクラスなど無い。 なんと、swiftには全クラス共通のスーパークラスが無いとのこと。
へぇと思いながら、もうちょっと探してみたら良いものがありました。 Dollar and Cent
色々便利に拡張してくれるライブラリです。元のクラスを汚さないようにextensionではなく、$.func()
みたいに$
をprefixとして呼び出すようになっています。ちなみにextension版はCentというみたいです。
さてさて、この Dollar の中にありました $.tap
が。
なぜtapが欲しいと思ったのかというと、以下のようなコードを書きたかったからです。
読みにくい tap in swift (Dollar)
tapを使うと閉じ込められる tap in swift (Dollar)
これが良いよね tap in swift (Dollar)
と、こんな感じです。 DollarはCocoaPodsのswift版みたいなCarthageでプロジェクトに突っ込むことができます。