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
andfactory, inc.
October 25, 2018
Programming
0
190
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
410
Android開発初心者にありがちなこと
andfactory
0
240
Codableあるある
andfactory
0
200
Androidエンジニアあるある
andfactory
0
240
Collectionの罠
andfactory
0
180
Cocoa Touch Frameworkあるある
andfactory
0
340
社内勉強会資料 - スクラム・アジャイル開発
andfactory
0
590
Other Decks in Programming
See All in Programming
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
4
640
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
310
イベント駆動で成長して委員会
happymana
1
280
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
590
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
280
Click-free releases & the making of a CLI app
oheyadam
2
110
Quine, Polyglot, 良いコード
qnighy
4
630
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
6
7k
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
3.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
170
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
460
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
190
Featured
See All Featured
Being A Developer After 40
akosma
86
590k
Done Done
chrislema
181
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.8k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
A Philosophy of Restraint
colly
203
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
505
140k
Visualization
eitanlees
145
15k
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 Ҏ্ɺ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ