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.2k
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
53k
Jest を使って VueコンポーネントとVuexストアの テストコードを書いてみよう!
karamage
3
1.6k
ドラクエとFFで学ぶRxSwiftのすすめ
karamage
2
650
Other Decks in Programming
See All in Programming
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
330
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
Rails アプリ地図考 Flush Cut
makicamel
1
120
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
630
Formの複雑さに立ち向かう
bmthd
1
850
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
Software Architecture
hschwentner
6
2.1k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
130
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Facilitating Awesome Meetings
lara
52
6.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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…
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠