Slide 1

Slide 1 text

INTRODUCTION DIFFER ߴڮ ༏հ @corin8823 2017.10.25 POTATOTIPS #44

Slide 2

Slide 2 text

ߴڮ ༏հ yusuke takahashi corin8823 @corin8823 ࣗݾ঺հ

Slide 3

Slide 3 text

IUUQTGBDFCPPLHJUIVCJPqVYEPDTJOEFQUIPWFSWJFXIUNMDPOUFOU 'MVY

Slide 4

Slide 4 text

'MVYྫ final class TopViewController: UIViewController { @IBOutlet weak var tableView: UITableView! private let store = TopStore() private let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() self.store.items .asObservable() .bind { [weak self] _ in self?.tableView.reloadData() } .disposed(by: self.disposeBag) } }

Slide 5

Slide 5 text

'MVYྫ final class TopViewController: UIViewController { @IBOutlet weak var tableView: UITableView! private let store = TopStore() private let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() self.store.items .asObservable() .bind { [weak self] _ in self?.tableView.reloadData() } .disposed(by: self.disposeBag) } }

Slide 6

Slide 6 text

%FNP

Slide 7

Slide 7 text

w UBCMF7JFXΛSFMPBE%BUB͢Δ͚ͩ w Ξχϝʔγϣϯ͞Εͳ͍ ɾТɾʆ w ݅࡟আ͚ͩͳͷʹSFMPBEͱ͔͸ɻɻɻ ɾТɾʆ

Slide 8

Slide 8 text

w 7JSUVBM%0.ͷࡶͳཧղ w EJ⒎Λऔಘ w QBUDI͢ΔBDUJPO w ࠷খͷίετͰঢ়ଶભҠΛදݱ 8FCϑϩϯτΤϯυͷ'MVY΍3FEVYͩͱ IUUQTRJJUBDPNNJ[DIJJUFNTECDEFGEF

Slide 9

Slide 9 text

w ී௨ͷ7JFX͸CJOE͢Δ͚ͩ ͔͠ͳ͍ w UBCMF7JFX΍DPMMFDUJPO7JFX͸೰·͍͠ w CFHJO6QEBUFT΍FOE6QEBUFT w JOEFY1BUIͷࢦఆ͕ඞཁɻɻɻ w JOEFY1BUIΛ4UPSFʹ఻͑ͯ΋ɻɻɻ J04ͩͱ

Slide 10

Slide 10 text

UPOZBSOPME%J⒎FS IUUQTHJUIVCDPNUPOZBSOPME%J⒎FS

Slide 11

Slide 11 text

w XPLBMTLJ%J⒎TXJGU͕΋ͱ΋ͱ w 0 /. % w /ͱ.͕഑ྻͷ௕͞ɺ%͕ࠩ෼ w ഑ྻͷҧ͍Λੜ੒ w UBCMF7JFXͱ$PMMFDUJPO7JFXͷ&YUFOTJPO΋ UPOZBSOPME%J⒎FS IUUQDPOTUFMMBUJPOIBUFOBCMPHDPNFOUSZ IUUQTHJUIVCDPNXPLBMTLJ%J⒎TXJGU

Slide 12

Slide 12 text

UPOZBSOPME%J⒎FS IUUQTHJUIVCDPNKqJOUFS%XJ⒎U w KqJOUFS%XJ⒎U΋͋Δ w UPOZBSOPME%J⒎1FSGPSNBODF4VJUF w BOJNBUF3PX$IBOHFT PME%BUBPME OFX%BUBOFX w BOJNBUF3PX"OE4FDUJPO$IBOHFT PME%BUBPME OFX%BUBOFX IUUQTHJUIVCDPNUPOZBSOPME%J⒎1FSGPSNBODF4VJUF

Slide 13

Slide 13 text

%FNP

Slide 14

Slide 14 text

w ϥϯμϜͳจࣈྻΛ഑ྻʹ"EE w ͦͷத഑ྻ͔ΒͭΛ%FMFUF %FNP IUUQTHJUIVCDPNDPSJO%J⒎FS%FNP

Slide 15

Slide 15 text

/PSNBM

Slide 16

Slide 16 text

%J⒎FS

Slide 17

Slide 17 text

'MVYXJUI%J⒎FS final class TopViewController: UIViewController { @IBOutlet weak var tableView: UITableView! private let store = TopStore() private let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() self.store.items .asObservable()
 .scan([]) { [weak self] (old, new) -> [String] in self?.tableView.animateRowChanges( oldData: old, newData: new) return new }.bind { [weak self] _ in } .disposed(by: self.disposeBag) } }

Slide 18

Slide 18 text

·ͱΊ

Slide 19

Slide 19 text

ઃܭͱύϑΥʔϚϯεͷ ཱ͕͍͍྆ײ͡ʹ

Slide 20

Slide 20 text

5)"/,:06