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
20150225_iqon.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
WorldDownTown
February 25, 2015
Technology
100
0
Share
20150225_iqon.pdf
iQON iOS
WorldDownTown
February 25, 2015
More Decks by WorldDownTown
See All by WorldDownTown
WWDC動画鑑賞会📹🍱を支える技術 / WWDC Video Lunch
worlddowntown
0
320
Live Renderingとの上手い付き合い方
worlddowntown
1
570
In-App Purchase / Subscription with StoreKit
worlddowntown
3
3.1k
ios_push_local_notification
worlddowntown
0
150
iqon_ios_growth_hack
worlddowntown
3
4.3k
Other Decks in Technology
See All in Technology
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
470
Python開発環境にハーネス適用を検討する
yuuka51
0
170
AI時代に求められる思考のパラダイムシフト
nrinetcom
PRO
0
100
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
170
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
260
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
280
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
180
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
120
社内RAGの導入で気を付けたポイント
yakumo
1
130
データ分析基盤の信頼を支える視点と設計
yuki_saito
0
120
AWS運用におけるAI Agent活用術 / JAWS-UG 神戸 #11 LT大会
genda
1
310
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
210
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
63
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
How to make the Groovebox
asonas
2
2.2k
Embracing the Ebb and Flow
colly
88
5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Bash Introduction
62gerente
615
210k
Amusing Abliteration
ianozsvald
1
170
30 Presentation Tips
portentint
PRO
1
300
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Transcript
iQON
None
App Store BEST of 2012 App Store "Essential"
Index 1. Storyboard 2. UITableView 3. Transitioning Animation
1. Storyboard
96 ViewControllers
Past 1 Storyboard / 96 VC
Now 1 Storyboard / 1 VC
Advantage • conflict͠ʹ͘͘ͳͬͨ • ʮViewController͕ݟ͔ͭΒͳ͍ʯͱ͍͏͜ͱ͕ͳ͘ͳͬͨ
Disadvantage • Segue͕͑ͳ͍
But ... • Segueͩͱσʔλ͕ͮ͠Β͍ - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if
([segue.identifier isEqualToString:NSStringFromClass([UserDetailViewController class])]) { UserDetailViewController *vc = segue.destinationViewController; vc.userId = self.userId; } } • ҰͭͷVCΛෳͷVC͔ΒSegueͰܨ͙ͱΧΦεʹͳΔ
Advantage > Disadvantage
None
2. UITableView
None
None
Past 1 Card / 1 Cell
Bad Performance
Now 1 Card / 1 Section
None
1 Card / 1 Section / N Cells
1 Card / 1 Section / N Cells ɹ 1ͭ1ͭͷηϧͷߴ͕͞খ͘͞ͳΔ
↓ ηϧͷੜύϑΥʔϚϯε্ ↓ εΫϩʔϧύϑΥʔϚϯε্
None
UITableViewDataSource ≠ ViewController
None
Past UITableViewDataSource == ViewController SetListViewController : 1000 lines SetSearchViewController :
1100 lines
Now UITableViewDataSource == SetListDataSource SetListViewController : 150 lines SetSearchViewController :
250 lines SetListDataSource : 800 lines
ࣅͨσβΠϯͷVCʹ͓͍ͯ UITableViewDataSource, UITableViewDelegate ͷ ࣮͕ҰՕॴʹͳͬͨ ↓ ίʔυྔݮগ && ࠶ར༻ੑ্
None
3. Transitioning Animation
None
ΞχϝʔγϣϯVCͰ࣮ͤͣʹ Ξχϝʔγϣϯઐ༻ΫϥεʹͤΔ
UIViewControllerAnimatedTransitioning ɹ UIViewControllerTransitioningDelegate
UIViewControllerAnimatedTransitioning • ը໘ભҠΞχϝʔγϣϯॲཧͰݺͼग़͞ΕΔϝιουͷϓϩ τίϧ UIViewControllerTransitioningDelegate • ը໘ભҠͷσϦήʔτ
// BlurTransition.h @interface BlurTransition : NSObject <UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate> @end //
BlurTransition.m // ׂѪ BlurTransition.h BlurTransition.m
// BlurViewController.m (ભҠઌͷVC) - (void)sharedInit { [super sharedInit]; _transition =
[BlurTransition new]; self.transitioningDelegate = _transition; } // SomeViewController.m (ભҠݩͷVC) BlurViewController *vc = [BlurViewController new]; [self presentViewController:vc animated:yes]; // ը໘ભҠ࣌௨ৗͷϞʔμϧදࣔͱಉ࣮͡
Advantage • ෳࡶͳΞχϝʔγϣϯॲཧTransitionΫϥεʹͤͯɺVC ભҠ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ࠶ར༻؆୯