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愛好会 #28
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoru Ohguchi
February 18, 2018
Technology
570
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
83
Use the M5Stack with 3G Modem
ochicchi
0
2.2k
Play with M5Stack
ochicchi
1
2.2k
How to study AWS IoT
ochicchi
0
1.1k
How to use OMRON sensors and M5Stack
ochicchi
0
100
IotLT_52-HobbyOmronSensors.pdf
ochicchi
2
810
JAWS-UG Beginner 2018/06/22
ochicchi
0
620
Swift愛好会初心者ハンズオン(vol.31)
ochicchi
0
260
Swift入門者向けハンズオンからの学び
ochicchi
1
450
Other Decks in Technology
See All in Technology
Lightning近況報告
kozy4324
0
190
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
210
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
SONiCの統計情報を取得したい
sonic
0
230
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
140
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
310
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
AIチャット検索改善の3週間
kworkdev
PRO
2
140
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
260
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
140
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
A Modern Web Designer's Workflow
chriscoyier
698
190k
Abbi's Birthday
coloredviolet
2
8.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Bash Introduction
62gerente
615
220k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Building an army of robots
kneath
306
46k
The Invisible Side of Design
smashingmag
302
52k
Mobile First: as difficult as doing things right
swwweet
225
10k
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