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
iOS開発に慣れてきた時にやりがちあるある
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
andfactory, inc.
October 25, 2018
Programming
0
210
iOS開発に慣れてきた時にやりがちあるある
10.25 and factory BeerBash#4 での@domonrさんのスライドです。
andfactory, inc.
October 25, 2018
Tweet
Share
More Decks by andfactory, inc.
See All by andfactory, inc.
UIViewのレイアウト更新メソッドを整理する
andfactory
0
440
Android開発初心者にありがちなこと
andfactory
0
250
Codableあるある
andfactory
0
220
Androidエンジニアあるある
andfactory
0
260
Collectionの罠
andfactory
0
200
Cocoa Touch Frameworkあるある
andfactory
0
350
社内勉強会資料 - スクラム・アジャイル開発
andfactory
0
620
Other Decks in Programming
See All in Programming
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
740
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Data-Centric Kaggle
isax1015
2
780
2026年 エンジニアリング自己学習法
yumechi
0
140
AtCoder Conference 2025
shindannin
0
1.1k
AgentCoreとHuman in the Loop
har1101
5
250
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
510
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Faster Mobile Websites
deanohume
310
31k
Transcript
J04։ൃʹ׳Ε͖ͯͨ࣌ʹ Γ͕ͪ͋Δ͋Δ EPNPOSSEBOEGBDUPSZ*OD एखΤϯδχΞ͋Δ͋Δ-5ʙεϚϗΞϓϦ։ൃฤʙ 1
"CPVUNF 2
ͲΜ wॴଐˠBOEGBDUPSZ*OD wHJUIVCˠSE wRJJUBˠSE w4XJGUྺˠ͙Β͍ 3
'JSTU͋Δ͋Δ 4
$FMMͷ࠶ར༻Ͱ7JFXΛෳճ"EE͕ͪ͠ 5 ※ॾࣄͰࠇృΓ
6
func setup(adInfoList: [AdInfo]) { for adInfo in adInfoList { switch
adInfo.asp { case .imobile: // ॳظԽॲཧ case .amoad: // ॳظԽॲཧ default: break } } } 7 "E.BOBHFSͷ4FUVQͰશࠂͷॳظԽΛߦͬͯɺ
func showAd(adInfo: AdInfo) { switch adInfo.asp { case .imobile: //
ࠂදࣔॲཧ case .amoad: // ࠂදࣔॲཧ default: break } } 8 ࢦఆͷࠂͷදࣔॲཧ͚ͩΛߦ͍͕ͬͯͨɺ
extension FullScreenAdManager:ImobileManagerDelegate { func imobile(didFinishLoadingAd adView: UIView) { self.adView.addSubview(adView) }
} 9 TFUVQͷޙʹࣗಈతʹ%FMFHBUFϝιου͕ݺΕͯେมͳ͜ͱʹ
$FMMͷ࠶ར༻Ͱ7JFXΛෳճ"EE͕ͪ͠ 10 ※ॾࣄͰࠇృΓ
ͳΜ͔ಈ͖͓͔͍͠ͳͱࢥͬͨΒ͙͢ʹ7JFX)JFSBSDIZΛ֬ೝ͠Α͏ 11
4FDPOE͋Δ͋Δ 12
1SPUPDPMΛ͏·͍͜ͱ͓͏ͱͯ͠ແݶϧʔϓͷίʔυॻ͖͕ͪ 13
14
protocol RequestProtocol { var dict: [String: String] { get }
} extension CommonRequestProtocol { var dict: [String: String] { // ͍࣋ͬͯΔશมΛྻʹͯ͠ฦ͢ॲཧ } } protocol CommonRequestProtocol: RequestProtocol { var dict: [String: String] { get } } extension CommonRequestProtocol { var dict: [String: String] { // RequestProtocolͷdictʹΞΫηε͔͕ͨͬͨ͠ɺɺɺ return self.dict.merging(["key": Const.Key], uniquingKeysWith: +) } } 15 EJDUͷதͰEJDUʹΞΫηεͯ͠ແݶϧʔϓʹʜ
ͪΌΜͱಈ࡞֬ೝPS5FTU͔ͯ͠ΒϓϧϦΫग़͠·͠ΐ͏ʂ 16
5IJSE͋Δ͋Δ 17
&OVNͷ"TTPDJBUFE7BMVFΛͬͯແବʹॲཧΛෳࡶʹ͕ͤͪ͞ 18
19
switch p { case .free(let isRental): if isRental { …
} case .ticket(let isRental): if isRental { … } } 20 ৗʹͭͷ݅Λҙࣝ͠ͳ͖Ό͍͚ͳ͍ͷͰॲཧ͕ෳࡶʹʜ
enum PublishingType { case free case ticket … } let
isRead: Bool 21 ͦΕͧΕผʑͷཁૉͳΜ͔ͩΒͦΕͧΕ࣋ͬͨ΄͏͕γϯϓϧʜ
"TTPDJBUFE7BMVF͍ॴΛߟ͍͑ͯͬͯ͜͏ʂ 22
·ͱΊ 23
w TU͋Δ͋Δ ɹ$FMMͷ࠶ར༻Ͱ7JFXΛෳճ"EE͕ͪ͠ w OE͋Δ͋Δ ɹ1SPUPDPMΛ͏·͍͜ͱ͓͏ͱͯ͠ ɹɹɹɹɹɹɹɹɹແݶϧʔϓͷίʔυॻ͖͕ͪ w SE͋Δ͋Δ ɹ&OVNͷ"TTPDJBUFE7BMVFΛͬͯ
ɹɹɹɹɹɹɹɹɹແବʹॲཧΛෳࡶʹ͕ͤͪ͞ 24
25 Ҏ্ɺ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ