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
WorldDownTown
February 25, 2015
Technology
0
79
20150225_iqon.pdf
iQON iOS
WorldDownTown
February 25, 2015
Tweet
Share
More Decks by WorldDownTown
See All by WorldDownTown
WWDC動画鑑賞会📹🍱を支える技術 / WWDC Video Lunch
worlddowntown
0
270
Live Renderingとの上手い付き合い方
worlddowntown
1
510
In-App Purchase / Subscription with StoreKit
worlddowntown
3
3k
ios_push_local_notification
worlddowntown
0
130
iqon_ios_growth_hack
worlddowntown
3
4.3k
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
48
33k
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
34
17k
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
360
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
6.7k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.2k
AWS Lambdaでサーバレス設計を学ぼう_ベンダーロックインの懸念を超えて-サーバレスの真価を探る
fukuchiiinu
4
940
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Flutterアプリを⾃然⾔語で操作する
yukisakai1225
0
210
Monorepo Error Management: Automated Runbooks and Team-Targeted Alert Distribution
biwashi
1
110
Kafka vs. Pulsar: Performance Evaluation by Petabyte-Scale Streaming Platform Providers
lycorptech_jp
PRO
1
320
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
220
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Mobile First: as difficult as doing things right
swwweet
223
9.6k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Scaling GitHub
holman
459
140k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Designing for humans not robots
tammielis
253
25k
A Tale of Four Properties
chriscoyier
159
23k
It's Worth the Effort
3n
184
28k
BBQ
matthewcrist
89
9.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
YesSQL, Process and Tooling at Scale
rocio
172
14k
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 ભҠ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ࠶ར༻؆୯