Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ReactiveCocoaで作る快適な登録フォーム
Search
shoby
July 11, 2016
Technology
0
340
ReactiveCocoaで作る快適な登録フォーム
Melon.swiftの発表資料です。
http://fablic.connpass.com/event/35407/
shoby
July 11, 2016
Tweet
Share
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
440
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.6k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
13k
フリルの商品を色で検索できるようにした話
shoby
5
4.2k
Search fashion items by colors
shoby
0
160
iOS 7をサポート対象外にして開発を健全化する
shoby
3
4k
Apple Watch Tips
shoby
0
4k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.4k
アプリにおける人力ぽちぽちテストの効率化
shoby
3
3.3k
Other Decks in Technology
See All in Technology
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
240
2時間で300+テーブルをデータ基盤に連携するためのAI活用 / FukuokaDataEngineer
sansan_randd
0
110
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
160
テキストからの実世界知能の実現に向けて
sumoai
0
130
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.4k
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
280
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
170
2025-07-25 NOT A HOTEL TECH TALK ━ スマートホーム開発の最前線 ━ SOFTWARE
wakinchan
0
200
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
390
Kiroから考える AIコーディングツールの潮流
s4yuba
3
600
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
290
dipにおけるSRE変革の軌跡
dip_tech
PRO
0
130
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
A better future with KSS
kneath
238
17k
Building an army of robots
kneath
306
45k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Six Lessons from altMBA
skipperchong
28
3.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
Adopting Sorbet at Scale
ufuk
77
9.5k
Fireside Chat
paigeccino
37
3.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
3FBDUJWF$PDPBͰ࡞Δ շదͳొϑΥʔϜ גࣜձࣾ'BCMJD TIPCZ
ࣗݾհ
ࣗݾհ w TIPCZ w 'BCMJD JOD w J043VCZPO3BJMTը૾ॲཧ w ϝϩϯՈͷଉࢠ
֓ཁ
֓ཁ w շదͳొϑΥʔϜͱ w ೖྗͷϦΞϧλΠϜόϦσʔγϣϯ w 3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ w TUSVDUʹΑΔΤϥʔͷදݱ w
ϑϦϧͰͷվળͷ݁Ռ
շదͳొϑΥʔϜͱ
շదͳొϑΥʔϜͱ w গͳ͍ೖྗͰࡁΉ w ༣ศ൪߸͔ΒॅॴΛิ w ೖྗܗ͕͔ࣜΔ w 6*1JDLFS7JFX6*%BUF1JDLFS w
,FZCPBSE5ZQF w ೖྗ͕ϦΞϧλΠϜͰνΣοΫ͞ΕΔ
շదͳొϑΥʔϜͱ w গͳ͍ೖྗͰࡁΉ w ༣ศ൪߸͔ΒॅॴΛิ w ೖྗܗ͕͔ࣜΔ w 6*1JDLFS7JFX6*%BUF1JDLFS w
,FZCPBSE5ZQF w ೖྗ͕ϦΞϧλΠϜͰνΣοΫ͞ΕΔ
5FYU'JFMEͷ ϦΞϧλΠϜόϦσʔγϣϯ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ w ঢ়ଶҎԼͷͭ w ະೖྗʢ1MBDF)PMEFSΛදࣔ͢Δʣ w ೖྗதʢԿදࣔ͠ͳ͍ʣ w 0,ʢ✅Λදࣔʣ w
Τϥʔʢ⚠Λදࣔʣ w 5FYUͷมԽͱɺೖྗྃͰόϦσʔγϣϯ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ ະೖྗ ೖྗத Τϥʔ ⚠ 0, ✅ ೖྗ։࢝ 5FYUͷมԽ
ೖྗ։࢝ όϦσʔγϣϯ Τϥʔ ਖ਼ৗʹྃ 5FYUͷมԽ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ w ೖྗऴྃˠUFYU'JFME%JE&OE&EJUJOH w 5FYUͷมԽˠ3FBDUJWF$PDPB w UFYU'JFMETIPVME$IBOHF$IBSBDUFST*O3BOHFSFQMB DFNFOU4USJOHͰϋϯυϦϯά͠ΜͲ͍
3FBDUJWF$PDPBʹΑΔ 5FYUมԽͷݕ
3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ var disposables: [Disposable] = [] textFields.forEach { textField in
let disposable = textField.rac_textSignal().toSignalProducer().skip(1).startWithNext { text in do { try self.validate(text: text, textField: textField) } catch let error { // ΤϥʔϋϯυϦϯά } } disposables.append(disposable) }
3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ var disposables: [Disposable] = [] textFields.forEach { textField in
let disposable = textField.rac_textSignal().toSignalProducer().skip(1).startWithNext { text in do { try self.validate(text: text, textField: textField) } catch let error { // ΤϥʔϋϯυϦϯά } } disposables.append(disposable) } ॳճͷTJHOBMΛແࢹ͢Δ͜ͱͰ ະೖྗͱೖྗதΛ۠ผ
TUSVDUʹΑΔΤϥʔͷදݱ
TUSVDUʹΑΔΤϥʔͷදݱ w &SSPS5ZQF1SPUPDPMͳͷͰTUSVDUͰ0, w DMBTT͑Δ w όϦσʔγϣϯΤϥʔʹTUSVDU͕ศར w ΤϥʔͷछྨΛ۠ผ͢Δඞཁ͕ͳ͍ w
ΤϥʔϝοηʔδͱՃใ͚ͩ
TUSVDUʹΑΔΤϥʔͷදݱ struct ValidationError: ErrorType { let message: String let showWhileEditing:
Bool } ϝοηʔδͱ ฤूதදࣔ͢Δ͔Ͳ͏͔ͷϑϥάͷΈ
ϑϦϧͰͷվળͷ݁Ռ
ϑϦϧͰͷվળͷ݁Ռ w ΞΧϯτొ͕Ξοϓ
·ͱΊ
·ͱΊ w গͳ͍ೖྗͰࡁΈɺೖྗܗ͕͔ࣜΓɺϦΞ ϧλΠϜͰνΣοΫ͞ΕΔϑΥʔϜշద w ϦΞϧλΠϜνΣοΫʹ5FYUͷมԽͱೖྗ ྃͷλΠϛϯάͰόϦσʔγϣϯ͢Δ w 3FBDUJWF$PDPBΛ͏ͱ5FYUมԽͷݕָ͕ w
όϦσʔγϣϯΤϥʔTUSVDUΛ͏ͱྑ͍ w ϑϦϧͷ߹ɺొϑΥʔϜվળͰొ͕ ্͕ͬͨ