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
120
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
830
JAWS-UG Beginner 2018/06/22
ochicchi
0
630
Swift愛好会初心者ハンズオン(vol.31)
ochicchi
0
270
Swift入門者向けハンズオンからの学び
ochicchi
1
460
Other Decks in Technology
See All in Technology
Codex を使った障害対応机上演習の実際
orgachem
PRO
0
170
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
420
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
360
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
220
Metadata - Section 1: HTML Basics
mohab1
0
140
How to Design Configuration for Rails Applications
willnet
1
960
What Is JetBrains Air
x5gtrn
PRO
0
130
Browser Spec: Testing Hotwire with Ruby
takahashim
1
140
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
110
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
120
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
WENDY [Excerpt]
tessaabrams
14
40k
The Language of Interfaces
destraynor
162
27k
The SEO Collaboration Effect
kristinabergwall1
1
600
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Between Models and Reality
mayunak
4
500
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Done Done
chrislema
187
17k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
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