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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
590
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
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
690
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
460
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
220
Building applications in the Gemini API family.
line_developers_tw
PRO
0
3k
手塩にかけりゃいいってもんじゃない
ming_ayami
0
360
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
200個のGitHubリポジトリを横断調査したかった
icck
0
110
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
610
やさしいA2A入門
minorun365
PRO
12
1.7k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
790
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
130
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
エンジニアに許された特別な時間の終わり
watany
107
250k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
RailsConf 2023
tenderlove
30
1.5k
Chasing Engaging Ingredients in Design
codingconduct
0
220
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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 ભҠ͢Δ͜ͱ͚ͩʹूதͰ͖Δ • ࠶ར༻؆୯