Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift愛好会 #28
Search
Satoru Ohguchi
February 18, 2018
Technology
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift愛好会 #28
Satoru Ohguchi
February 18, 2018
More Decks by Satoru Ohguchi
See All by Satoru Ohguchi
BG770A_photo_transfer_v2.pdf
ochicchi
0
110
Use the M5Stack with 3G Modem
ochicchi
0
2.3k
Play with M5Stack
ochicchi
1
2.2k
How to study AWS IoT
ochicchi
0
1.2k
How to use OMRON sensors and M5Stack
ochicchi
0
110
IotLT_52-HobbyOmronSensors.pdf
ochicchi
2
820
JAWS-UG Beginner 2018/06/22
ochicchi
0
620
Swift愛好会初心者ハンズオン(vol.31)
ochicchi
0
270
Swift入門者向けハンズオンからの学び
ochicchi
1
460
Other Decks in Technology
See All in Technology
Meet AgentCore Identity Consent Portal
hironobuiga
2
140
ScotSecure West 2026 - Glasgow
raybugg
0
210
Lambda MicroVMsは常駐サーバーの代わりに なるか? Kiro Crew を動かして検証してみた / Kiro Crew on Lambda MicroVMs
k_adachi_01
2
340
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
650
企業の現実世界をグラフで写し取る
sansantech
PRO
0
220
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
470
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.4k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
170
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
350
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
150
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
1
520
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
660
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
Designing for humans not robots
tammielis
254
26k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The agentic SEO stack - context over prompts
schlessera
0
950
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
710
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
J04ΞϓϦ։ൃͷॳา SwiftѪձ #28
ΨΠμϯε • SwiftѪձͷ৽͍͠औΓΈͱͯ͠ɺॳ৺ऀϋϯ ζΦϯΛͬͯΈΑ͏ͱ͍͏͜ͱʹͳΓ·ͨ͠ɻ • ༗ࢤʹΑΔϋϯζΦϯͱͳΓ·͢ͷͰɺࢸΒͳ͍ ͳͲ͋Δ͔͠Ε·ͤΜɻ͝ڠྗɺ͝ཧղ͍ͨͩ ͖·͢Α͏͓ئ͍͍ͨ͠·͢ɻ
ࣗݾհ • ࢘ձਐߦͷհ • Reiko Goto(@burakon) • Satoru Ohguchi(@o_chicchi) •
ϝϯλʔਞͷհ • ҰݴͣͭࣗݾհԼ͍͞ɻ
͡Ίʹ • ຊͷਐΊํ • αϯϓϧϓϩάϥϜΛ͢Δ͜ͱΛΰʔϧͱ͠·͢ɻ • ࠷ॳʹ֓ཁͳͲΛઆ໌͠·͢ɻ • ͻͱ·ͱ·Γຖʹઆ໌ɺ࣮ࡍͬͯ͘ͷ܁Γฦ͠Ͱ͢ɻ •
ਵ࣌ɺ࣭͍ͯͩ͘͠͞ɻ • ૢ࡞ͷ͔Βͳ͍ͳͲɺϝϯλʔʹϔϧϓΛٻΊͯ Լ͍͞ɻ • άϧʔϓͰॿ͚߹͍ͳ͕ΒਐΊ͍͚ͯͨͩΔ͜ͱظ͠ ͍ͯ·͢ɻ
άϧʔϓ୯ҐͰࣗݾհ • ໊͓લɺχοΫωʔϜͰΑ͍Ͱ͢ɻ • ֶੜ? ࣾձਓ? • ;ͩΜ͍ͬͯΔ͜ͱ(ࣄͷ͜ͱͱ͔ɺઐ߈ͷ͜ ͱͱ͔) •
SwiftҎ֎ͷݴޠͷܦݧͱɺSwiftͷܦݧ
ࢀՃऀΞϯέʔτ(1) •ֶੜͰ͋Δ •ए͍ࣾձਓͰ͋Δ •͏ए͘ͳ͍ࣾձਓͰ͋Δ •·ͩ·ͩݩؾͳدΓͰ͋Δ
ࢀՃऀΞϯέʔτ(2) • ࢲɺ·ͬͨ͘ͷॳ৺ऀͰɺMacΛ৮Δͷɺϓ ϩάϥϜ͢ΔͷॳΊͯͩɻ(͓͓ΉͶ1ະຬ) • ଞͷݴޠͰͷϓϩάϥϛϯάܦݧ͋Δ(ઙͯ͘ Մ)ɺiOSͷϓϩάϥϜΛॻ͍ͯΈ͍͔ͨΒɺࠓ དྷͯΈͨɻ • ΞϓϦΛ࡞ͬͯΈͨͯ͘ɺॻ੶ͳͲͰֶश͍ͯ͠
Δ͕ɺͳ͔ͳ͔शಘʹࢸΒͣɺۤ࿑͍ͯ͠Δɻ
ࢀՃऀΞϯέʔτ(3) •Apple Developer Program ʹ •ࢀՃ͍ͯ͠Δ(ొ͍ͯ͠Δ) •ࢀՃ͍ͯ͠ͳ͍(ొ͍ͯ͠ͳ͍)
͞ͳ͍͜ͱ • Swiftͷϓϩάϥϛϯάগ͚͔ͩ͠͠Γ·ͤΜɻ • Storyboard গ͚͔ͩ͠͠Γ·ͤΜɻ • ڽͬͨϨΠΞτɺਂ͍ϓϩάϥϛϯάʹ͍ͭͯ ѻ͍·ͤΜɻ •
ઃܭख๏ͱ͍ͬͨ͜ͱʹ৮Ε·ͤΜɻςετपล ͷίʔυ৮Ε·ͤΜɻ • ΞϓϦͷϦϦʔεʹ͚ͨొํ๏ɺసૹํ๏ʹͭ ͍ͯ৮Ε·ͤΜɻ
ϓϩάϥϛϯάֶशʹ͍ͭͯ
ϓϩάϥϜΛश͏ಈػ • Կ͔࡞ͬͯΈ͍ͨαʔϏεɺΞϓϦ͕͋ͬͯɺͦ ͷͨΊʹֶश͢Δɻ • ब৬ɺస৬׆ಈʹ༗ར͔ͩΒɺֶशͯ͠༗རʹਐ Ί͍ͨɻ • ͰɺαʔϏεΞϓϦΛͤ͞Δ͜ͱ͕ॏཁ ͰɺʮJavaΛश͍ͬͯ·͢ʯͱ͍͏ΑΓɺՌ͕
͋Δ΄͏͕Α͍ɻ
ϓϩάϥϛϯάݴޠʹ͍ͭͯ • Ͳͷݴޠ͔ΒೖͬͯɺͲΕͰ͍͍ͱࢥ͏ɻͰ ɺࠓɺSwiftɻSwift ਪͰ͖ΔɺΑ͘Ͱ͖ ͨݴޠͩͱࢥ͏ɻ • ಘҙͳݴޠΛɺ1ͭ࣋ͭ͜ͱ͕ॏཁɻಘҙͳݴޠΛ ෳʹͰ͖ͨΒɺͰ͖Δ͜ͱ͕͕Δɻ •
1ͭͷݴޠΛशಘͰ͖Εɺଞͷݴޠʹ͍͛ͯ͘ ͜ͱɺͦΜͳʹ͘͠ͳ͍ɻ
ϓϩάϥϛϯάֶशͷίπ • ίϐʔ&ϖʔετ͚ͩͰɺͳ͔ͳֶ͔श͍͠ɻ • ࣮ࡍʹɺλΠϓͯ͠ɺಈ͖Λ֬ೝ͠ͳ͕ΒΔͷ͕ Α͍ɻ • ͳͥɺ͜͏ಈ͘ͷ͔ɺϩδοΫ͕Ͳ͏ͳ͍ͬͯΔͷ ͔ɺཧղͯ͠ਐΊΔ͜ͱ͕ॏཁɻࢴʹॻ͍ͯΈͨΓɺ ཧͯ͠ΈͨΓɻ
• ޠֶͱҰॹͰগͣͭ͠ͰຖɺຊಡΜͩΓɺ৮Ε ͨΓ͢Δ͜ͱ͕ਐาʹܨ͕Δɻ
ݸਓతʹ… • ϓϩάϥϛϯάɺࠓޙɺখֶੜͷΧϦΩϡϥϜʹ ೖ͖͕͍ͬͯͯͬͯ͘͜ͱ͕༧͞ΕΔɻجຊ ࣝͷྖҬʹۙ͘ͳ͍ͬͯ͘ͱࢥ͏ɻ • ΞϓϦΛ࡞ͬͨΓɺશੈքʹϦϦʔεͰ͖ͨΓ͢Δ Έ໘ന͍ɻपล͍ࣝΖ͍ΖඞཁͰ͕͢ɺ νϟϨϯδ͢ΔՁ͋Γ·͢ɻ •
ੲ͔Βɺίϯϐϡʔλʔ͕͖ͳਓͱͯ͠ɺίϯ ϐϡʔλʔϓϩάϥϛϯά͕ɺ͖ʹͳͬͯ͘Ε Δਓ͕ҰਓͰ૿͑ͨΒخ͍͠ɻ
ΞϓϦΛϦϦʔε͢Δ্Ͱͷ੍
ΞϓϦΛϦϦʔε͢Δ্Ͱͷ੍ࣄ߲(1) •ϦϦʔεʹ৹͕ࠪ͋Γ·͢ɻ •ΨΠυϥΠϯ •https://developer.apple.com/app-store/review/guidelines/jp/ • ܦݧଇ • ؆୯ͳΞϓϦ৹ࠪʹ௨Βͳ͍͜ͱ͕͋Γ·͢ɻ • SNSͰͷγΣΞػೳΛ͚ΔͳͲɺ͕ඞཁͰ͢ɻ
• ஶ࡞ݖ • ը૾ԻָͳͲΛ༻͢Δ߹ɺݖརʹҙ͢Δඞཁ͕͋Γ·͢ɻ • ΞϓϦͷλΠτϧؚ໊ΊͯؾΛ͚ͭΔඞཁ͕͋Γ·͢ɻ
ΞϓϦΛϦϦʔε͢Δ্Ͱͷ੍ࣄ߲(2) • iOS11͚ʹ࡞Δ߹ɺiOS11͕αϙʔτ͞Ε͍ͯ ΔશͯͰਖ਼ৗʹಈ࡞͢Δඞཁ͕͋Γ·͢ɻ • ྫ͑ɺiPhone5SҎ্Ͱಈ࡞͢Δඞཁ͕͋Γ·͢ɻը໘ αΠζશͯαϙʔτ͞ΕΔඞཁ͕͋Γ·͢ɻ • Apple Developer
Program ͷࢀՃ͕ඞཁͰ͢ɻ • ؒͰɺ1ສԁલޙ͔͔Γ·͕͢ɺϓϩάϥϜͷࢀՃ͕ ඞཁͰ͢ɻ
࡞ΔϓϩάϥϜͷΞΠσΟΞ • ϓϩάϥϜΞΠσΟΞɺϦϦʔεͷཁ݅౿·͑ ͯɺߟ͑ͨ΄͏͕͍͍ͱࢥ͏ɻ • खॻ͖ͰɺΞΠσΟΞΛॻ͍ͯΈͯɺͦͷ͋ͱɺ ը໘ભҠΛ૾ͯ͠Έͯɺ؆୯ͳϑϩʔΛॻ͍ͯɺ ϓϩάϥϜʹམͱͤΔ͔ߟ͑Δͱɺ͏·͍͖͘͢ ͍ɻ •
ΞΠσΟΞͷ࣌Ͱɺܦݧऀʹฉ͘ͷΞϦͩͱ ࢥ͏ɻੋඇɺࠓճͷͳͲΛར༻ͯ͠Լ͍͞ɻ
Xcodeͷॳظઃఆ
XcodeΛىಈ͢Δ • ΞϓϦέʔγϣϯ → Xcode ͱબΜͰىಈ
ઃఆը໘Λબ w 9DPEFˠ1SFGFSFODFTͱબΜͰىಈ
Xcodeͷॳظઃఆ(1) • Accounts Λબ͢Δɻ
Xcodeͷॳظઃఆ(1) • ࠨԼʹ͋ΔʮʴʯΛબ͢Δɻ
Xcodeͷॳظઃఆ(1) • Apple ID Λબ͠ɺContinue Λબ͢Δɻ
Xcodeͷॳظઃఆ(1) • AppleIDͷΞΧϯτΛઃఆ͠ɺSign In Λબ͢Δɻ
Xcodeͷॳظઃఆ(2) •ߦදࣔΛग़͢ Text Editing ͷதͷ Line Number Λબ͢Δɻ
Xcodeͷॳظઃఆ(3) w %PVCMF$MJDL/BWJHBUJPOΛઃఆ͢Δɻ
Hello World Λग़ͯ͠ΈΔ
ϓϩδΣΫτΛ࡞͢Δ • File → New → Project
ΞϓϦͷλΠϓΛબ͢Δ • Single View App → Next Λબ
ϓϩδΣΫτͷඞཁࣄ߲Λઃఆ •ҎԼͷΑ͏ʹهೖͯ͠ɺNext Λબɻ
อઌΛબ • อॴΛઃఆͯ͠ɺʮCreateʯΛબ͢Δɻ
Storyboard Λબ •Xcode͕։͘ͷͰɺStoryboard Λબ
SafeAreaΛબ •Safe Area Λબ͢Δ
Hello World ͷϥϕϧΛஔ͢Δ • Xcode ͷӈԼʹ͋Δը໘ͷը໘Ͱɺʮshow the object libraryʯΛબ •
Filter ʹ Label ͱೖྗ • Label ͕දࣔ͞ΕΔ͜ͱΛ֬ೝ
Hello World ͷϥϕϧΛஔ͢Δ
Hello World ʹจࣈྻΛॻ͖͑Δ
੍Λઃఆ͢Δ
ԼهͷΑ͏ʹͳ͍ͬͯΔ͜ͱΛ֬ೝ
Ϗϧυ࣮ͯ͠ߦͯ͠ΈΔ • iPhoneX ͷγϛϡϨʔλʔΛબΜͰʮ⾣ʯΛબ͢Δɻ
Playground Λىಈ͢Δ
Playground • ༁͢Δͱɺ༡ͼͱ͍͏ҙຯͰɺίʔυͷ࿅श Λ͢Δʹ࠷దͳπʔϧɻ • Swift ͷίʔυΛͪΐͬͱ֬ೝ͍ͨ͠ͱ͍͏࣌ʹ ɺ׆༻͠·͠ΐ͏ɻ
ىಈํ๏ • File → New → Playground
ىಈํ๏ •iOS → Blank → Next ͱબ͢Δɻ
ىಈํ๏ •อॴΛઃఆͯ͠ɺʮCreateʯΛબ
ىಈํ๏ • ҎԼͷΑ͏ʹىಈ͢Δ
Swift ͷओͳॻ͖ํ
มͱఆ • ม • ΛهԱ͢ΔͨΊͷശͷΑ͏ͳͷ • ఆ • ΛهԱ͢ΔശͷΑ͏ͳͷɺ͋ͱ͔ΒมߋͰ͖ͳ͍ มͷܕʹɺओʹɺ
ҎԼͷΑ͏ͳͷ͕͋Δɻ Intܕ Floatܕ Doubleܕ Stringܕ Boolܕ
ܕਪ •ϓϩάϥϜͷจ຺͔Β҉తʹܕΛܾఆͯ͘͠ΕΔ •ܕΛΈ͍ͨͱ͖ɺ type(of: ม໊)
มܕͰؾΛ͚ͭΔϙΠϯτ • ఆͷ࠶ೖͰ͖ͳ͍ • let Λͬͨͷ࠶ೖͰ͖ͳ͍ • ҧ͏ܕͷೖΕΔ͜ͱ͕Ͱ͖ͳ͍
Optional • มͷ͕ɺnil Ͱ͋Δ͜ͱͱɺจࣈྻͷ ”” ɺม ͕ɺ0 Ͱ͋Δ͜ͱҟͳΔɻ • SwiftͰɺOptionalܕͱͯ͠ɺ”?”Λͬͯ໌ࣔ͢Δɻ
• ໌֬ͳཧ༝͕͋Δͱ͖ͷΈ͍·͠ΐ͏ɻ 8 /774 5007 32 2 010 07.2
ྻ •ҎԼͷΑ͏ʹهड़͢Δ •ΛॳظԽ͢Δ߹ɺ[] ͷؒʹΛฒΔ
ؔ •ఆٛํ๏ •ίʔυྫ . ( 1 : 2 ,)-., >
Ϋϥε w ҎԼʹαϯϓϧΛࣔ͢
ܧঝ •ҎԼʹαϯϓϧΛࣔ͠·͢ɻ •class Ϋϥε: εʔύʔΫϥε { } ͷΑ͏ʹهड़͢ Δɻ
·ͱΊ •࣌ؒͷؔͰɺऔΓ্͍͛ͯͳ͍͜ͱ͕ଟ͋Γ·͢ɻ • Switchจ • forจ • whileจ • ߏମ
• είʔϓ • Ψʔυ • ϓϩτίϧ •…ͳͲͳͲ •Swiftͷॻ੶ɺAppleͷυΩϡϝϯτΛੋඇಡΜͰΈͯԼ͍͞ɻ
ΫΠζΞϓϦ
ૉࡐͷμϯϩʔυ • ΫΠζͷͷcsvٴͼɺը૾Λ༻ҙͨ͠ͷͰɺμ ϯϩʔυ͓ئ͍͠·͢ɻ
Xcode Ͱ৽͍͠ϓϩδΣΫτΛ։͘
શମͷྲྀΕͷઆ໌ • ࠓճͷΞϓϦͷશମతͳྲྀΕΛҎԼʹࣔ͠·͢ɻ ? ?
4UPSZ#PBSE
ը໘ͷૉࡐΛొ͢Δ •ը໘ͷૉࡐΛஔ͢Δɻ
ViewControllerͷஔ • StoryBoard Λબͯ͠ɺදࣔ͠ɺViewController Λஔ͢Δɻ
֤ը໘༻ͷίʔυΛ४උ w 'JMFΛબ͠·͢ɻ
֤ը໘༻ͷίʔυΛ४උ w $PDPB5PVDIΛબ͢Δ
w ΫϥεΛࢦఆ͠·͢ɻ2VJ[7JFX$POUSPMMFSͱࢦఆ͢Δɻ ֤ը໘༻ͷίʔυΛ४උ
֤ը໘༻ͷίʔυΛ४උ w ʮ$SFBUFʯΛબ͠·͢ɻ
֤ը໘༻ͷίʔυΛ४උ w ಉ༷ʹɺ3FTVMU7JFX$POUSPMMFSΛ࡞͠·͢ɻ
$VTUPN$MBTTͷࢦఆ w ֤ετʔϦʔϘʔυʹࢦఆ͠·͢ɻ
$VTUPN$MBTTͷࢦఆ w ಉ༷ʹɺ3FTVMU7JFX$POUSPMMFSࢦఆ
෦ஔ
શମਤ
τοϓը໘ w *NBHF7JFXͱ#VUUPOΛஔ͠·͢ɻ
ΫΠζදࣔը໘ w ҎԼஔ͠·͢ɻ w ϥϕϧ͇ w Ϙλϯ͇ w UBHΛઃఆ w
*NBHF7JFXº
݁Ռදࣔը໘ w ҎԼΛஔ͠·͢ɻ w *NBHF7JFX w ϥϕϧ w Ϙλϯ
֤ը໘ͷඥ͚ w ελʔτϘλϯ͔Βɺ 2VJ[7JFX$POUSPMMFS Ή͔ͬͯɺTFHVF Λઃఆ͢Δɻ
ը໘ͱͷඥ͚ w 2VJ[7JFX$POUSPMMFS ͔Βɺ 3FTVMU7JFX$POUSPMMFS ʹ͔ͬͯɺTFHVF Λઃఆ͢Δɻ
ը໘ͱͷඥ͚ w *EFOUJpFSΛఆٛ͢Δ
2VJ[7JFX$POUSPMMFSͷιʔεͱͷඥ͚
2VJ[7JFX$POUSPMMFSͷιʔεͱͷඥ͚
3FTVMU7JFX$POUSPMMFSͷιʔεͱͷඥ͚
ϓϩάϥϛϯά
มΛఆٛ // Λ֨ೲ var csvArray:[String] = [] // औΓग़ͨ͠Λ֨ೲ var
questionArray:[String] = [] // ม var questionCount = 0 // ग़ var correctCount = 0 // ਖ਼ղ // ఆ let total = 3 // ग़ let waitQuestion = 0.8 // දࣔͷִؒ
ΛDTW͔Βྻʹ // CSVϑΝΠϧͷಡΈࠐΈ func loadCSV(filename : String)->[String] { // ฦ٫ͷॳظԽ
var csvStr:[String] = [] // CSVΛಡΈࠐΜͰArrayʹ if let csvPath = Bundle.main.path(forResource: filename, ofType: "csv") { do { var csvData = try String(contentsOfFile: csvPath, ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹencoding: String.Encoding.utf8) csvData = csvData.replacingOccurrences(of: "\n", with: "") csvStr = csvData.components(separatedBy: .newlines) } catch let error as NSError { print(error.localizedDescription) } } return csvStr }
දࣔ // දࣔ func nextProblem() { // questionArrayͷॳظԽ questionArray.removeAll(keepingCapacity: true)
if questionCount < total { // questionArrayʹ৽نΛ֨ೲ questionArray = csvArray[questionCount].components(separatedBy: ",") // දࣔ༰Ληοτ quizNumberLabel.text = "ୈ\(questionCount+1)" quizQuestion.text = questionArray[0] uiButton1.setTitle(questionArray[2], for: .normal) uiButton2.setTitle(questionArray[3], for: .normal) uiButton3.setTitle(questionArray[4], for: .normal) uiButton4.setTitle(questionArray[5], for: .normal) } else { // Λશͯදࣔͨ͠ޙͷॲཧ(ޙͰهड़) } } }
ճΛબͨ͠Βఆ // ਖ਼ޡఆ @IBAction func btnAction(_ sender: UIButton) { //
ਖ਼ղͱϘλϯͷλά൪߸͕ಉ͡ͳΒਖ਼ղ if sender.tag == Int(questionArray[1]) { answerImage.image = UIImage(named: "correct.png") correctCount += 1 } else { answerImage.image = UIImage(named: "incorrect.png") } // ճදࣔͷ༗ޮԽ(0.8ඵؒ) answerImage.isHidden = false DispatchQueue.main.asyncAfter(deadline: .now() + waitQuestion) { self.answerImage.isHidden = true } // ࣍ͷจݺͼग़͠ questionCount += 1 nextProblem() }
ը໘ભҠΛهड़ w 4FRVFΛͬͯΛ͢ͷͰ͢Λఆٛ w ը໘ભҠΛ͢Δ // Segue ͰΛ͢ override func
prepare(for segue: UIStoryboardSegue, sender: Any?) { let sVC: ResultViewController = (segue.destination as? ResultViewController)! sVC.correct = correctCount } // Storyboard Segue ͷ Identifier ΛҾʹఆٛͯ͠ը໘ભҠ DispatchQueue.main.asyncAfter(deadline: .now() + waitQuestion) { self.performSegue(withIdentifier: "toResultViewController", sender: nil) }
2VJ[ͷWJFX%JE-PBEΛهड़ // ը໘දࣔྃޙʹಈ͘ϝιου override func viewDidLoad() { super.viewDidLoad() // ͷಡΈࠐΈ
csvArray = loadCSV(filename: "loveswift") // ը໘ͷॳظԽ answerImage.isHidden = true // දࣔ nextProblem() }
ը໘ΛΔఆٛΛ͢Δ ViewControllerʹҎԼɺه͠·͢ɻ @IBAction func unWindSegue(_ sender: UIStoryboardSegue) { print("topwindow") }
4UPSZCPBSE্ͰΔఆٛΛ͢Δ w VO8JOE4FRVFͱ݁ͼ͚ͭΔ
Ϗϧυ • iPhoneX ͷγϛϡϨʔλʔΛબΜͰʮ⾣ʯΛબ ͢Δɻ
Τϥʔͷ֬ೝํ๏ w ը໘ͷԼ෦ʹҎԼͷ૭Λදࣔͤ͞Δ͜ͱͰɺΤϥʔΛ֬ೝ Ͱ͖·͢ɻ
Ͱ͖·͔ͨ͠
ֶशΛଓ͚͍ͯ͘ʹ
ॻ੶
UFSBUBJM w ࠔͬͨΒɺUFSBUBJMͰฉ͍ͯΈΔɻ w Ͱɺ."/"#*:"ͱ͍͏Πϕϯτ͕͋Δͦ͏Ͱ͢ɻ
ษڧձ • SwiftѪձ • SwiftϏΪφʔζ • AKIBA.swift • ے.swift •
Ikebukuro.swift
ΧϯϑΝϨϯε wUSZ4XJGU wJ04%$
5IBOLZPV