swiftにtapが無い

iOSアプリ開発自体、横からちょっとつつく程度にしか経験が無かったので、ちょっと1からやってみようと思い遅ればせながらswiftを触り始めました。

触っていて、欲しいと思ったのがrubyでいう Object#tap です。 ざっと探してみましたがどうやら似たようなものが無いので、Objectにextensionしようかなと思ったら、、ん?Objectクラスなど無い。 なんと、swiftには全クラス共通のスーパークラスが無いとのこと。

へぇと思いながら、もうちょっと探してみたら良いものがありました。 Dollar and Cent

色々便利に拡張してくれるライブラリです。元のクラスを汚さないようにextensionではなく、$.func() みたいに$をprefixとして呼び出すようになっています。ちなみにextension版はCentというみたいです。 さてさて、この Dollar の中にありました $.tap が。

なぜtapが欲しいと思ったのかというと、以下のようなコードを書きたかったからです。

と、こんな感じです。 DollarはCocoaPodsのswift版みたいなCarthageでプロジェクトに突っ込むことができます。