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
Swiftのクロージャーで苦労じゃ〜
Search
柿本匡章 Masaaki Kakimoto@kara_mage
July 01, 2016
Programming
1
1.1k
Swiftのクロージャーで苦労じゃ〜
Swiftのクロージャーについての説明資料です
柿本匡章 Masaaki Kakimoto@kara_mage
July 01, 2016
Tweet
Share
More Decks by 柿本匡章 Masaaki Kakimoto@kara_mage
See All by 柿本匡章 Masaaki Kakimoto@kara_mage
個人開発とANDPAD開発との相乗効果
karamage
1
160
何者にもなれなかった自分のための「個人開発のすすめ」
karamage
7
51k
Jest を使って VueコンポーネントとVuexストアの テストコードを書いてみよう!
karamage
3
1.5k
ドラクエとFFで学ぶRxSwiftのすすめ
karamage
2
640
Other Decks in Programming
See All in Programming
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
930
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
CSC509 Lecture 09
javiergs
PRO
0
140
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
300
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
9.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
4 Signs Your Business is Dying
shpigford
180
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Designing for Performance
lara
604
68k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Transcript
SwiftͷΫϩʔδϟʔͰ ۤ࿑͡Όʙ ͔Β·͛ˏ͏·͏·ͩΑΜ
ࣗݾհ ໊લɹ֟ຊڡষˏ͔Β·͛ ৬ۀɹϑϦʔϥϯεɾΤϯδχΞ WebΞϓϦiOSΞϓϦΛ࡞ΔࣄΛ͍ͯ͠·͢ɻ ग़ɹԬ Swift, Ruby,JS, AWS Lambda https://www.facebook.com/karamage.umauma
ࣗ༝ͳελΠϧͰࣄͯ͠·͢ ;;͠ͳ͕Βϓϩάϥϛϯά
Swift ͍͠ ࢛ఱԦ Ẃࠈͷ$MPTVSF మนͷHVBSE ࠞಱͷ0QUJPOBM ັͷQSPUPDPM
Ϋϩʔδϟʔͬͯ·͔͢ʁ 8JLJQFEJBΑΓ ΫϩʔδϟʢΫϩʔδϟʔɺӳDMPTVSFʣ ؔดแϓϩάϥϛϯάݴޠʹ͓͚ΔؔΦϒδΣΫτͷҰछɻ ͍͔ͭ͘ͷݴޠͰϥϜμࣜແ໊ؔͰ࣮ݱ͍ͯ͠Δɻ
ʂʁ
ΫϩʔδϟʔͱؔͰ͋Δɻ
Ϋϩʔδϟʔʹ໊લ͕ͳ͍
Ϋϩʔδϟʔ = ໊ແ͠ͷؔ
อଘ֬ೝΞϥʔτදࣔ
Ϋϩʔδϟʔͬͯ·͔͢ʁ MFUEFGBVMU"DUJPO6*"MFSU"DUJPO 6*"MFSU"DUJPO UJUMF0, TUZMF6*"MFSU"DUJPO4UZMF%FGBVMU IBOEMFS\ Ϙλϯ͕ԡ͞Εͨ࣌ͷॲཧΛॻ͘ʢΫϩʔδϟ࣮ʣ BDUJPO6*"MFSU"DUJPO
7PJEJO QSJOU 0, ^
͜Ε͕Ϋϩʔδϟʔͩʂ MFUEFGBVMU"DUJPO6*"MFSU"DUJPO 6*"MFSU"DUJPO UJUMF0, TUZMF6*"MFSU"DUJPO4UZMF%FGBVMU IBOEMFS\ Ϙλϯ͕ԡ͞Εͨ࣌ͷॲཧΛॻ͘ʢΫϩʔδϟ࣮ʣ BDUJPO6*"MFSU"DUJPO
7PJEJO QSJOU 0, ^
{ -> in }ΛݟͨΒ Ϋϩʔδϟʔͩͱࢥ͑ MFUEFGBVMU"DUJPO6*"MFSU"DUJPO 6*"MFSU"DUJPO UJUMF0, TUZMF6*"MFSU"DUJPO4UZMF%FGBVMU
IBOEMFS\ Ϙλϯ͕ԡ͞Εͨ࣌ͷॲཧΛॻ͘ʢΫϩʔδϟ࣮ʣ BDUJPO6*"MFSU"DUJPO 7PJEJO QSJOU 0, ^
Ϋϩʔδϟʔͷॻ͖ํجຊ \ QBSBNFUFST SFUVSOUZQFJO TUBUFNFOUT ^
Ϋϩʔδϟͷॻ͖ํ \ ҾҾͷܕ Γͷܕ JO ॲཧ SFUVSOΓ ^
ΫϩʔδϟʔͰHelloWorld Ϋϩʔδϟ WBSIFMMP8PSME$MPTVSF\ JO QSJOU l)FMMP8PSME ^
IFMMP8PSME$MPTVSF
ΫϩʔδϟʔͰɺ͠ࢉ B CΛͨ݁͠ՌΛฦ͢ΫϩʔδϟΛBEE'VODʹೖ MFUBEE'VOD\ B*OU C*OU *OUJO SFUVSOB C ^
MFUSFTVMUBEE'VOD QSJOUMO SFTVMU
Ϋϩʔδϟʔͷলུه๏ WBSD\ JOQSJOU l)FMMPz ^লུͳ͠ WBSD\ 7PJEJOQSJOU l)FMMPz ^
ͱ7PJEಉ͡ WBSD\ JOQSJOU l)FMMPz ^ฦΓͷܕলུ WBSD\QSJOU l)FMMPz ^Ҿলུ
͍͠ɻɻɻʼʻ
Ϋϩʔδϟʔͷ͍υίϩ ɾίʔϧόοΫ/ඇಉظॲཧ - Alamofire ɾϦΞΫςΟϒϓϩάϥϛϯά RxSwift/SwiftBond ɾmap/filter/reduce
ΫϩʔδϟʔͰඇಉظॲཧ ɾඇಉظॲཧͱ͔ͰΑ͘͏ "MBNPpSFSFRVFTU (&5 IUUQTRJJUBDPNBQJWJUFNT SFTQPOTF+40/\SFTQPOTFJO ͜͜ʹॲཧΛهड़͍ͯ͘͠ ^
ඌΫϩʔδϟʔ(Trailing Closure) ඌҾʹΫϩʔδϟΛࢦఆͨؔ͠Λݺͼग़͢ࡍɺ Χοίॻ͖ΛলུͰ͖·͢ɻ ΧοίΛলུ͠ͳ͍߹ɺϝιουͷΧοί ͷ֎ʹΫϩʔδϟΛॻ͚Δ
ඌΫϩʔδϟʔͰsort OVNCFSTTPSUFE \ OVN*OU OVN*OU #PPMJO SFUVSOOVNOVN ^
·ͱΊ ɾΫϩʔδϟʔ໊ແ͠ͷؔ ɾΫϩʔδϟʔΛ͏ͱඇಉظॲཧͳͲ͕ॻ ͖͍͢ ɾඌΫϩʔδϟʔΧοίͷ֎ʹॻ͚Δ
ΫϩʔδϟʔͷมΩϟϓνϟ to be continued…
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠