使えるライブラリを作ろう!というハッカソンに参加してきました。
個人的に家計簿アプリを作っていてNSDateがかなりいけていない(面倒なのが多い)のでそれを楽にするものを作りました。
https://github.com/yanamura3/NSDateHelper
実装自体は自分のソースコードからライブラリ化したいものをひっぱってくるだけだったのでほぼ一瞬で終わってしまい、大半はKiwi使ってテスト書いてました。
できたものはライブラリというかカテゴリになってしまいましたが。
問題はカテゴリを組み込むのにgitsubmoduleやcocoapodsだと2つファイル読みこめばいいだけなのに無駄にプロジェクトファイル毎取り込まなければいけないのがなんだなぁと。この辺りもなにかうまいやりかたを考えていく必要がありそうです。
結構時間があまったのでOCMockitoというモックライブラリで足りない機能があったので追加してみました。
https://github.com/yanamura3/OCMockito
追加したのはスタブのメソッドが呼ばれた際に指定したblocksを呼ぶことができるようにする拡張で、
[given([mock somemethod]) answer:^{ /** 処理 */ } ]
と書けば somemethodが呼ばれるとanswerに渡したblocksが実行されます。
NSProxyのforwardInvocationの勉強にもなったので結構役に立ちました。
最後は発表があったのですが、あまりにもやったことが地味すぎたので
今度ハッカソンに参加するときはもうちょい見た目にインパクトあるものを考えて参加しようと思いました・・・
Togetter
http://togetter.com/li/361912