{"image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftnakamura.hatenablog.com%2Fentry%2F2014%2F11%2F15%2Fhow_to_use_reactivecocoa_in_swift\" title=\"Swift \u3067 ReactiveCocoa \u3092\u4f7f\u3046 - present\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_name":"griefworker","version":"1.0","blog_url":"https://tnakamura.hatenablog.com/","url":"https://tnakamura.hatenablog.com/entry/2014/11/15/how_to_use_reactivecocoa_in_swift","blog_title":"present","title":"Swift \u3067 ReactiveCocoa \u3092\u4f7f\u3046","provider_name":"Hatena Blog","categories":["iOS","Swift"],"provider_url":"https://hatena.blog","type":"rich","published":"2014-11-05 11:00:00","author_url":"https://blog.hatena.ne.jp/griefworker/","width":"100%","description":"\u306f\u3058\u3081\u306b Swift \u3067 iOS \u30a2\u30d7\u30ea\u3092\u5b9f\u88c5\u3057\u76f4\u3059\u306b\u3042\u305f\u3063\u3066\u3001 \u305f\u3060 Swift \u306b\u7ffb\u8a33\u3059\u308b\u3060\u3051\u3067\u306f\u3064\u307e\u3089\u306a\u3044\u306e\u3067\u3001 MVVM \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3067\u5b9f\u88c5\u3059\u308b\u3053\u3068\u306b\u6c7a\u3081\u305f\u3002 View/ViewController \u3068 ViewModel \u306e\u30d0\u30a4\u30f3\u30c9\u3001 \u30a4\u30d9\u30f3\u30c8\u3084\u975e\u540c\u671f API \u547c\u3073\u51fa\u3057\u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u7d71\u4e00\u3059\u308b\u305f\u3081\u306b\u3001 ReactiveCocoa \u3092\u5c0e\u5165\u3059\u308b\u3002 CocoaPods \u3067 RactiveCocoa \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb Podfile \u306b pod \"ReactiveCocoa\" \u3092\u8ffd\u52a0\u3057\u3066 pod install\u3002 Bridging-Header \u3067 ReactiveCocoa \u306e\u30d8\u30c3\u30c0\u30fc\u30d5\u2026","height":"190"}