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
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20150225_iqon.pdf
iQON iOS
WorldDownTown
February 25, 2015
More Decks by WorldDownTown
See All by WorldDownTown
WWDC動画鑑賞会📹🍱を支える技術 / WWDC Video Lunch
worlddowntown
0
330
Live Renderingとの上手い付き合い方
worlddowntown
1
610
In-App Purchase / Subscription with StoreKit
worlddowntown
3
3.1k
ios_push_local_notification
worlddowntown
0
160
iqon_ios_growth_hack
worlddowntown
3
4.4k
Other Decks in Technology
See All in Technology
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
AIで仕事のやり方を変える
matsu7874
1
730
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
230
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
830
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
270
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
PfEingのアプローチで働こう
rindrics
0
180
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
720
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
150
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
940
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.3k
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
420
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Into the Great Unknown - MozCon
thekraken
41
2.7k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
The Cost Of JavaScript in 2023
addyosmani
55
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
500
Navigating Team Friction
lara
192
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
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 ભҠ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ࠶ར༻؆୯