bond の v4 について

33
Bond の v4 について 2015/10/30 @Swiftオープンソースライブラリ研究会

Upload: -

Post on 12-Apr-2017

542 views

Category:

Software


0 download

TRANSCRIPT

Bond の v4 について

2015/10/30

@Swiftオープンソースライブラリ研究会

自己紹介

@ushisantoasobu

iOSやったりAndroidやったりjsやったり

週末フットサルやったり

Bondとは??

Swift製データバインディングライブラリ

http://qiita.com/ushisantoasobu/items/54a3ff86722693da6498

http://qiita.com/susieyy/items/2af5321b287b8d2f49f6

Bond v4 ??

v4 = Swift 2 に対応したもの

Bond v4 ??

Bond v4 ??

これまでのものからAPIが大きく変更入っている

Bond v4 ??

このタイミングで過去記事みるときは注意

http://qiita.com/ushisantoasobu/items/42e07cef818dcddeefc4

Dynamic => Observable に

prefixが dynHoge から bnd_hoge に

->> よりも bindTo() に

Bond v4 ??

変更点の例いくつか

趣味でつくってるiOSアプリにて採用してる

実際に使ってみる

実際に使ってみる

`someData`の`name`プロパティを `hogeTextField`の`text`プロパティにバインドする

実際に使ってみる

実際に使ってみる

`someData`の`name`プロパティを変更すると `hogeTextField`のテキストの表示が反映される

何が嬉しいの??

ソート処理

スキ処理

リフレッシュ(引っ張って更新)

削除(セルの長押し)新規作成

ソート処理

スキ処理

リフレッシュ(引っ張って更新)

削除(セルの長押し)

モデルの更新(非同期処理含む)がガンガンされるなか ビューの表示を同期するのが手間

ソート処理

スキ処理

リフレッシュ(引っ張って更新)

削除(セルの長押し)

バインドしておけば あとはモデルを正しく更新さえすればOK

ソート処理

スキ処理

リフレッシュ(引っ張って更新)

削除(セルの長押し)

ビューとモデルが分離できてスッキリする

実際に使ってみる

実際に使ってみる

モデルのプロパティに`Observable`をつけてあげる (`Mappable`は`ObjectMapper`なのでここでは関係ない)

実際に使ってみる

実際に使ってみる

`bnd_xxxxx`はそれぞれのUIKitのextensionとして Bondで設定されているもの

実際に使ってみる

双方向バインディングは`bidirectionalBindTo()`を使う

少し応用すると・・・

文字数のバリデーション

文字数が相応しくないときは 文字数カウントの色を変える

文字数カウンタの更新

ご静聴ありがとうございました!!