Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20150225_iqon.pdf
Search
WorldDownTown
February 25, 2015
Technology
0
86
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
290
Live Renderingとの上手い付き合い方
worlddowntown
1
540
In-App Purchase / Subscription with StoreKit
worlddowntown
3
3k
ios_push_local_notification
worlddowntown
0
140
iqon_ios_growth_hack
worlddowntown
3
4.3k
Other Decks in Technology
See All in Technology
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
730
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
180
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
980
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
140
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
220
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
510
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
130
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.5k
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
480
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
2
250
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
690
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.7k
Writing Fast Ruby
sferik
630
62k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
RailsConf 2023
tenderlove
30
1.3k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Faster Mobile Websites
deanohume
310
31k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Building Applications with DynamoDB
mza
96
6.8k
Automating Front-end Workflow
addyosmani
1371
200k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
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 ભҠ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ࠶ར༻؆୯