Upgrade to Pro — share decks privately, control downloads, hide ads and more …

@StateObject @UIApplidationDelegateAdapter - Sw...

@StateObject @UIApplidationDelegateAdapter - SwiftUI 2nd major release.

SwiftUI 2の追加された重要定義について
SwiftUI でアプリ構築ができることになった影響について
@StateObject
@ApplicationDelegate

notoroid

July 28, 2020
Tweet

More Decks by notoroid

Other Decks in Programming

Transcript

  1. ॆిใࠂ͞Μ #BUUFSFDFJWFS w όοςϦʔϞχλʔ ϢʔςΟϦςΟʔ  w ࠷େ୆ ࣮ػ ϦϞʔτ୆

     w ख࣋ͪͷJ1IPOF͔Βଞʹ͍࣋ͬͯΔ J1IPOF J1BEͳͲͷػثͷόοςϦʔঢ়ଶ֬ ೝՄೳ w ࣗ୐ʹ͋ΔJ1IPOFͷόοςϦʔঢ়ଶ֬ೝՄ ೳ
  2. ॆిใࠂ͞Μ #BUUFSFDFJWFS w "QQMF8BUDIରԠ w $PNQMJDBUJPOTରԠ w ॆి׬ྃ௨஌ w ॆి׬ྃΛ఻͑ͯ͘ΕΔ௨஌Λ௥Ճ

    w ҎԼʹࢦఆ͢Δ͜ͱͰόοςϦʔ ΛέΞ͢Δ͜ͱ͕Մೳ w Կ͔ͱߴ͍J1IPOFΛ௕࣋ͪͤ͞Δͷʹ༗ ༻
  3. 4XJGU6*ͷ!ఆٛ w !6*"QQMJDBUJPO%FMFHRBUF"EBQUFS w !4DBMFE.FUSJD w !&OWJSPONFOU w !4DFOF4UPSBHF w

    !4DFOF#VJMEFS w !4UBUF w !#JOEJOH w !0CTFSWFE0CKFDU w !1VCMJTI w !&OWJSPONFOU w !4UBUF0CKFDU
  4. w !4UBUF w !#JOEJOH w !0CTFSWFE0CKFDU w !1VCMJTI w !&OWJSPONFOU

    w !4UBUF0CKFDU 4XJGU6*ͷ!ఆٛ w !6*"QQMJDBUJPO%FMFHRBUF"EBQUFS w !4DBMFE.FUSJD w !&OWJSPONFOU w !4DFOF4UPSBHF w !4DFOF#VJMEFS 7JFX 7JFX಺Ͱঢ়ଶΛอ࣋ 7JFX಺Ͱঢ়ଶΛଋറ NVUBCMF 7JFX಺Ͱ0CTFSWBCMF0CKFDUอ࣋ 0CTFSWBCMF0CKFDU಺ͰࢦఆՄೳͳঢ়ଶڙڅݩ 1VCMJTIFS ؀ڥม਺
  5. 4XJGU6*ͷ!ఆٛ w !4UBUF w !#JOEJOH w !0CTFSWFE0CKFDU w !1VCMJTI w

    !&OWJSPONFOU w !4UBUF0CKFDU w !6*"QQMJDBUJPO%FMFHBUF"EBQUFS w !NBJO w !/BNFTQBDF w !4DBMFE.FUSJD w !4DFOF4UPSBHF w !4DFOF#VJMEFS
  6. w !4UBUF w !#JOEJOH w !0CTFSWFE0CKFDU w !1VCMJTI w !&OWJSPONFOU

    w !4UBUF0CKFDU w !6*"QQMJDBUJPO%FMFHBUF"EBQUFS w !NBJO w !/BNFTQBDF w !4DBMFE.FUSJD w !4DFOF4UPSBHF w !4DFOF#VJMEFS 4XJGU6*ͷ!ఆٛ ࠓճͷओ໾ "QQMJDBUJPO%FMFHBUFͷ୅໾ NBJO ؔ਺ͷ୅໾ ؀ڥఆٛΛม਺Ͱอ࣋Մೳ Ξχϝʔγϣϯ༻໊લۭؒ γʔϯ؀ڥม਺ ෳ਺ը໘࣋ͪγʔϯ༻
  7. w !4UBUF w !#JOEJOH w !0CTFSWFE0CKFDU w !1VCMJTI w !&OWJSPONFOU

    w !4UBUF0CKFDU w !6*"QQMJDBUJPO%FMFHBUF"EBQUFS w !NBJO w !/BNFTQBDF w !4DBMFE.FUSJD w !4DFOF4UPSBHF w !4DFOF#VJMEFS 4XJGU6*ͷ!ఆٛ ࠓճͷओ໾ "QQMJDBUJPO%FMFHBUFͷ୅໾ NBJO ؔ਺ͷ୅໾ ؀ڥఆٛΛม਺Ͱอ࣋Մೳ Ξχϝʔγϣϯ༻໊લۭؒ γʔϯ؀ڥม਺ ෳ਺ը໘࣋ͪγʔϯ༻
  8. 4XJGU6*͕ΞϓϦߏங·Ͱԡ͠ਐΊͨཧ༝ w ϚϧνϓϥοτϑΥʔϜԽ J04 J1BE04 NBD04 UW04 XBUDI04  w

    ৽ͨͳ։ൃऀͷݺͼࠐΈ w ೥ϓϨΠϠʔ͕ΞϓϦ։ൃʹࢭ·ΔΘ͚΋ͳ͠ɺ૯ྔ΋૿͑ͳ͍ w 8FCϓϩάϥϚʹ਌࿨ੑΛΑΓߴͯ͘͠৽نࢀೖऀݺͼࠐΈ
  9. $PDPBGSBNFXPSL JNQPSU6*,JU !6*"QQMJDBUJPO.BJO DMBTT"QQ%FMFHBUF6*3FTQPOEFS 6*"QQMJDBUJPO%FMFHBUF\ WBSNPEFM.PEFM  GVODBQQMJDBUJPO @BQQMJDBUJPO EJE'JOJTI-BVODIJOH8JUI0QUJPOTMBVODI0QUJPOT

    #PPM\  SFUVSOUSVF ^ GVODBQQMJDBUJPO www \  ^   GVODBQQMJDBUJPO www \ ^ ^ DMBTT4DFOF%FMFHBUF6*3FTQPOEFS 6*8JOEPX4DFOF%FMFHBUF\
  10. $PDPBGSBNFXPSL JNQPSU6*,JU !6*"QQMJDBUJPO.BJO DMBTT"QQ%FMFHBUF6*3FTQPOEFS 6*"QQMJDBUJPO%FMFHBUF\ WBSNPEFM.PEFM  GVODBQQMJDBUJPO @BQQMJDBUJPO EJE'JOJTI-BVODIJOH8JUI0QUJPOTMBVODI0QUJPOT

    #PPM\  SFUVSOUSVF ^ GVODBQQMJDBUJPO www \  ^   GVODBQQMJDBUJPO www \ ^ ^ DMBTT4DFOF%FMFHBUF6*3FTQPOEFS 6*8JOEPX4DFOF%FMFHBUF\ ΤϯτϦʔ ΦϒδΣΫτ ΦϒδΣΫτ Πϕϯτ Πϕϯτ Πϕϯτ
  11. import SwiftUI @main struct FooApp: App { @StateObject var model

    = FooModel() var body: some Scene { WindowGroup { ContentView() .environmentObject(model) } } }
  12. import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { } import SwiftUI

    @main struct FooApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate var body: some Scene { WindowGroup { ContentView() } } }