こんにちは。エンジニアの浅井です。 普段はマネーフォワードのiOSアプリ開発を担当しています。 弊社では、全社で使用する共通ライブラリの開発を積極的に行っています。 今回は、先日正式リリースされたSwift2.0で作成中のAPI通信基盤をご紹介します。 APIKitを参考に、下記のライブラリを用いて実装しています。 * Alamofire(HTTP通信) * ObjectMapper(JSONのパース) 本エントリーの肝 本エントリーではSwift2.0で追加された、ProtocolExtensionを利用しています。 プロトコルに実装を定義できるだけでなく、細かく条件指定ができるので、そのプロトコルに準拠したクラスの実装を少なく抑えることができます。 また、typealiasによるジェネリクスを利用することで、タイプセーフな設計になっています。 利用側のコード 兎にも角にもまずは利用側の