Slide 1

Slide 1 text

4XJGU6*BOE'VODUJPOCVJMEFST ,PKJ"PNBUTV

Slide 2

Slide 2 text

4XJGU6* ɾએݴతʹ6*ΛߏஙͰ͖Δ ɾ4XJGU੡ʢ/PU0CKFDUJWF$ʣ ɾΠϯλϥΫςΟϒʹ6*ΛσβΠϯ ɾ៉ྷʹॻ͚Δ

Slide 3

Slide 3 text

struct ContentView: View { var body: some View { VStack(alignment: .leading) { Text("Turtle Rock") .font(.title) HStack { Text("Joshua Tree National Park") .font(.subheadline) Spacer() Text("California") .font(.subheadline) } } .padding() } } &YBNQMF

Slide 4

Slide 4 text

$PNQVUFE1SPQFSUJFT ɾHFUUFS΍TFUUFSͰม਺Λఆٛ ɾҰߦͩͬͨΒSFUVSOΛলུՄೳ ɾHFU͚ͩͳΒHFUΛলུՄೳ ɾ1SPQFSUZ8SBQQFSJTDPNJOH

Slide 5

Slide 5 text

// Computed Property var hoge : Int { get { return 3 } } // Shorter version var hoge : Int { return 3 } // Shortest version var hoge : Int { 3 } // This above explains this part struct ContentView: View { var body: some View { VStack(alignment: .leading) { .. } } } &YBNQMF

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

(FOFSJDT ɾܕύϥϝʔλʔΛऔΔ͜ͱ͕ग़དྷΔܕ ɾ"SSBZܕ΍3FTVMUܕͳͲ

Slide 9

Slide 9 text

74UBDLͷܕύϥϝʔλʔ 74UBDLͷJOJUؔ਺Λ೷͍ͯΈΔͱ @ViewBuilder content: () -> Content ͜Ε͸ʜ

Slide 10

Slide 10 text

7JFX#VJMEFSͱ͸ 'VODUJPO#VJMEFSTͱ͍͏࢓૊Έ͕࢖ΘΕ͍ͯΔ

Slide 11

Slide 11 text

'VODUJPOCVJMEFST ɾ"UUSJCVUFΛಠࣗఆٛͰ͖Δ ɾϦετ΍໦ߏ଄Λѻ͏ ɾ%4-ΛίϯύΠϥ͕ղੳ

Slide 12

Slide 12 text

'VODUJPOCVJMEFST @_functionBuilder struct Hoge { static func buildBlock(_ a: Int, _ b: Int) -> Int { return a + b } } func fuga(@Hoge a: () -> Int) -> Int { return a() } let puni = fuga { 76 33 } print(puni) // 109

Slide 13

Slide 13 text

74UBDLͷCVJME#MPDL

Slide 14

Slide 14 text

74UBDLͷCVJME#MPDL ͜ΕʹΑΓͭҎ্ͷཁૉΛ࣋ͭ 74UBDLͷܕύϥϝʔλʔ$POUFOU͸ 5VQMF7JFXʹͳΔ͜ͱ͕Θ͔Δ

Slide 15

Slide 15 text

HStack { Text("Joshua Tree National Park") Spacer() Text("California") } 4XJGU6*ͷܕΛݟ͍ͯ͘ HStack> var body: some View { VStack(alignment: .leading) { Text("Turtle Rock") HStack { .. } } } VStack>)>>

Slide 16

Slide 16 text

4XJGU6*ʹ͓͚Δܕ·ͱΊ 7JFXϓϩτίϧʹଋറ͞ΕͨܕύϥϝʔλʔͰ͋Δ $POUFOUΛੜ੒͢ΔͨΊʹ7JFX#VJMEFSTͷ CVJME#MPDLؔ਺͕࢖ΘΕ͍ͯΔ CVJME#MPDLؔ਺͸Ҿ਺͕͍ͭ͘ೖͬͯ͘Δ͔Θ͔Β ͳ͍ͷͰɺͦΕΛ5VQMF7JFXͳͲͱͯ͠ѻͬͯ (FOFSJD4USVDUVSFΛఆٛ͢Δͷ͕໘ന͍ ੩తʹܕΛܾఆͰ͖ΔͷͰ0QBRVF3FTVMU5ZQFTΛ ࢖͍ͬͯΔ

Slide 17

Slide 17 text

struct ContentView: View { var body: some View { VStack(alignment: .leading) { Text("Turtle Rock") .font(.title) HStack { Text("Joshua Tree National Park") .font(.subheadline) Spacer() Text("California") .font(.subheadline) } } .padding() } } ׬શʹཧղͰ͖Δ

Slide 18

Slide 18 text

͓͠·͍