์กฐ๊ฑด๋ฌธ & ์‚ผํ•ญ ์—ฐ์‚ฐ์ž

2022. 7. 14. 01:02ยทiOS/Swift ๋ฌธ๋ฒ•
๋ฐ˜์‘ํ˜•

๐Ÿง‘‍๐Ÿ’ป์ด๋ฒˆ Swift ์‹œ๊ฐ„์— ๋ฐฐ์›Œ๋ณผ ๊ฒƒ์€  ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป

 

  • if ๋ฌธ
  • else, else if๋ฌธ 
  • &&, ||
  • switch ๋ฌธ
  • ์‚ผํ•ญ ์กฐ๊ฑด๋ถ€ ์—ฐ์‚ฐ์ž

 

 


1.  if ๋ฌธ 

 

์กฐ๊ฑด๋ฌธ์—์„œ ๋‹จ๊ณจ๋กœ ์ž์ฃผ ๋‚˜์˜ค๋Š” ์นœ๊ตฌ๋‹ค. ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ์€ ์•„๋งˆ ๋”์šฑ ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์˜ˆ์ƒ์ด ๋˜๋Š”๋ฐ, ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅธ ๊ฒƒ์ด ์—†์œผ๋ฏ€๋กœ ๊ฐ€๋ณ๊ฒŒ ๋ณด์ž!

let score = 85

if score > 80 {

    print("์ฐธ ์ž˜ํ–ˆ์–ด์š”!")
}

 

์‰ฌ์šด ์˜ˆ์ œ๋กœ ์‹œ์ž‘ ํ•ด๋ณด์ž. score์—๋Š” 85๋ผ๋Š” ๊ฐ’์ด ํ• ๋‹น๋˜์–ด์žˆ๊ณ , ์ดํ›„ if ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ์•ฝ score๊ฐ€ 80์ ์ด ๋„˜์œผ๋ฉด "์ฐธ ์ž˜ํ–ˆ์–ด์š”!"๋ผ๋Š” ๊ฒƒ์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์‰ฝ๋‹ค! ๊ทธ๋Ÿผ 80๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด์„ ์ถœ๋ ฅํ•˜๋ ค๋ฉด?  >= ์„ ์‚ฌ์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ด๋ฒˆ์—๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ์‘์šฉํ•ด๋ณด์ž!

 

//3๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค.
var numbers = [1, 2, 3]

//๋ฐฐ์—ด์— 4๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
numbers.append(4)

//๋ฐฐ์—ด ์š”์†Œ๊ฐ€ 3๊ฐœ๊ฐ€ ๋„˜์œผ๋ฉด
if numbers.count > 3 {
    //0 ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
    numbers.remove(at: 0)
}

//๊ฒฐ๊ณผ
print(numbers)

 

์ฒ˜์Œ์— ์ƒ์„ฑํ•œ ๋ฐฐ์—ด์—๋Š” 1, 2, 3์œผ๋กœ ์ดํ›„ ๋ฐฐ์—ด์— 4๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  if๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ 3๊ฐœ๊ฐ€ ๋„˜์œผ๋ฉด 0๋ฒˆ์งธ ์š”์†Œ์ธ 1์„ ์‚ญ์ œํ•˜๋„๋ก ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋Š”?? 2, 3, 4 ๊ฐ€ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค!

 

 


 

 

 

2.  else, else if 

 

์ด๋ฒˆ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž!

let age = 16

if age >= 18 {
    print("You can vote in the next election.")
}

if age < 18 {
    print("Sorry, you're too young to vote.")
}

์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋˜๊ธด ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋”ฑ ๋ด๋„ ํšจ์œจ์ ์ด์ง€๋Š” ์•Š์•„ ๋ณด์ธ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ else์ด๋‹ค.

 

 

else if๋ฅผ ์œ„์˜ ์˜ˆ์‹œ์— ์ ์šฉํ•ด๋ณด์ž.

let age = 16

if age >= 18 {
    print("You can vote in the next election.")
} else {
    print("Sorry, you're too young to vote.")
}

์œ„์˜ ๊ฒฝ์šฐ ์กฐ๊ฑด ๋‘ ๊ฐœ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ์„œ age๋ฅผ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•˜์˜€์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ํ•œ ๋ฒˆ๋งŒ ์ด์šฉํ•˜์—ฌ 18์‚ด์ด๊ฑฐ๋‚˜ ํฐ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด ์ž๋™์œผ๋กœ

"Sorry, you're too young to vote."๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ๋” ํ•˜์˜€๋‹ค. ํ›จ์”ฌ ๊น”๋”ํ•œ ๊ฒƒ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋Š” ์กฐ๊ฑด์ด 2๊ฐœ ์ด์ƒ์ผ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ์ด๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์€ else if์ด๋‹ค.

๋ฐ”๋กœ ์˜ˆ์‹œ๋กœ ํ™•์ธํ•˜์ž.

let a = false
let b = true

if a {
    print("Code to run if a is true")
} else if b {
    print("Code to run if a is false but b is true")
} else {
    print("Code to run if both a and b are false")
}

else if๋Š” ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด๋ฌธ if์˜ ์กฐ๊ฑด์ด ๋งŒ์กฑ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. else if๋Š” ํ•˜๋‚˜๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๊ฐœ๊นŒ์ง€๋„ ๊ฐ€๋Šฅํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

๊ทธ๋Ÿผ ์—ฌ๊ธฐ์„œ ๋“œ๋Š” ์˜๋ฌธ์€ else๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜ ์—†๋‚˜? else๋Š” ์•ˆ๋œ๋‹ค. ์ด์œ ๋Š” ๊ทธ ์ž์ฒด๊ฐ€ "์•ž์„œ ๋‚˜์˜จ ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด์—ˆ๋‹ค๋ฉด"์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์˜ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— else๋Š” ํ•˜๋‚˜๋งŒ ์กด์žฌํ•œ๋‹ค. 

 

 

3.  &&,  || 

 

๋งŒ์•ฝ ์˜จ๋„๊ฐ€ 20๋„ ์ด์ƒ์ด๊ณ  30๋„ ๋ฏธ๋งŒ์ผ ๋•Œ ์›ํ•˜๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์–ด๋–กํ•ด์•ผ ํ• ๊นŒ? 

์œ„์—์„œ ๋ฐฐ์šด if ๋ฌธ์„ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. 

let temp = 25

if temp > 20 {
    if temp < 30 {
        print("It's a nice day.")
    }
}

 

์ด๋ ‡๊ฒŒ ํ•ด๋„ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ์€ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ "and"๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” &&์ด๋‹ค.

์ด๊ฒƒ์€ ๋‘ ์กฐ๊ฑด์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์กฐ๊ฑด ์•ˆ์˜ ๋‘ ๋ถ€๋ถ„ ๋ชจ๋‘๊ฐ€ ์ฐธ์ผ ๋•Œ๋งŒ ์ „์ฒด ์กฐ๊ฑด์ด ์ฐธ์ด ๋œ๋‹ค. ๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋Š” ์ด๋ฅผ ํ†ตํ•ด ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”๋ณด์ž!

 

if temp > 20 && temp < 30 {
    print("It's a nice day.")
}

์œ„์˜ if ๋ถ€๋ถ„์ด ๋‘ ๋ฒˆ์ผ ๋•Œ ์ด๋ฒˆ์—๋Š” ํ•œ ๋ฒˆ์— ๋‘ ์กฐ๊ฑด์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์ฒ˜์Œ ์›ํ–ˆ๋˜ ์กฐ๊ฑด์„ ๋™์ผํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

์ด๋ฒˆ์—๋Š” ๊ทธ๋Ÿผ ๋น„์Šทํ•˜๊ฒŒ || ์ด๋‹ค. ||๋Š” "or"๋กœ ์„ ์˜๋ฏธํ•˜๋ฉฐ, &&๋Š” ๋‘ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ด์–ด์•ผ ์ „์ฒด ์กฐ๊ฑด์ด ์ฐธ์ด ๋˜๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ, ||์˜ ๊ฒฝ์šฐ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ์ฐธ ์ด์–ด๋„ ์ „์ฒด ์กฐ๊ฑด์ด ์ฐธ์ด ๋œ๋‹ค.  ์ด๊ฒƒ ๋˜ํ•œ ์˜ˆ์‹œ๋กœ ๋ณด์ž ๐Ÿ•ต๏ธ‍โ™‚๏ธ

 

let userAge = 14
let hasParentalConsent = true

if userAge >= 18 || hasParentalConsent == true {
    print("You can buy the game")
}

 

๊ฒŒ์ž„์„ ๊ตฌ๋งคํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž๋Š” 14์„ธ์ด๋ฉฐ ๋ถ€๋ชจ๋‹˜์˜ ํ—ˆ๋ฝ์€ ๋ฐ›์€ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒŒ์ž„์€ 18์„ธ ์ด์ƒ์ด๊ฑฐ๋‚˜ ๋ถ€๋ชจ๋‹˜์ด ํ—ˆ๋ฝ์„ ํ•ด์ค€ ๊ฒฝ์šฐ์—๋Š” ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์œ„์˜ &&์—์„œ๋Š” ์ด ๊ฒฝ์šฐ ๊ฒŒ์ž„์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์—†๋‹ค. ์™œ?? 18์„ธ ์ด์šฉ๊ฐ€ ๊ฒŒ์ž„์„ ๋ˆ„๊ฐ€ 14์‚ด์งœ๋ฆฌ๊ฐ€ ํ•œ๋‹ค๋Š” ๊ฑด๊ฐ€?? ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์šฐ๋ฆฌ๋Š” ||์„ ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉํ•˜์˜€๊ณ  ์ด๋Š” 14 ์„ธ์ง€๋งŒ ๋ถ€๋ชจ๋‹˜์˜ ํ—ˆ๋ฝ์„ ๋ฐ›์•˜๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ € 14์„ธ ์•„์ด๋Š” ๊ฒŒ์ž„์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์–ด๋ฆด ๋•Œ fps ๊ฒŒ์ž„ ํ•˜๋ ค๊ณ  ๋ถ€๋ชจ๋‹˜ ๋ฏผ์ฆ์„ ๋ชฐ๋ž˜ ๋นŒ๋ฆฐ ๊ธฐ์–ต์ด ๋‚˜๊ฒŒ ํ•˜๋Š” ์˜ˆ์ œ๋‹ค.

 

 


 

4. Switch  

 

์ž ์ด์ œ switch์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด์ž ์Šค์œ„์น˜๋Š” ์—ฌ๋Ÿฌ ์กฐ๊ฑด์ด ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•œ๋ฐ ์˜ˆ๋ฅผ ๋“ค๋ฉด ์•ž์„œ if์™€ else if๋ฅผ ์ด์šฉํ•˜์—ฌ ๋งŽ์ด ํŽธํ•ด์กŒ์ง€๋งŒ ๋งŒ์•ฝ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ›จ์”ฌ ๋งŽ์€ ์กฐ๊ฑด์ด ๋ถ€์—ฌ๋œ๋‹ค๋ฉด ์–ด๋–จ๊นŒ?

 

enum Weather {
    case sun, rain, wind, snow, unknown
}

let forecast = Weather.sun

if forecast == .sun {
    print("It should be a nice day.")
} else if forecast == .rain {
    print("Pack an umbrella.")
} else if forecast == .wind {
    print("Wear something warm")
} else if forecast == .rain {
    print("School is cancelled.")
} else {
    print("Our forecast generator is broken!")
}

 

๋งค์šฐ ๊ธธ๋‹ค. ๋งค์šฐ ์ฝ๊ธฐ ๊นŒ๋‹ค๋กœ์›Œ์ง€๊ณ  ํ•œ๋ˆˆ์— ๋“ค์–ด์˜ค์ง€ ์•Š๋Š”๋‹ค. ํ•œ๋ˆˆ์— ์ž˜ ๋“ค์–ด์˜ค๋ฉด ์–ด์ฉ” ์ˆ˜ ์—†์ง€๋งŒ, ์—ฌํ•˜ํŠผ ์„ธ๋ถ€์ ์œผ๋กœ ๋ฌธ์ œ์ ์„ ๋ถ„์„ํ•ด๋ณด์ž๋ฉด

 

  1. ๋งค๋ฒˆ forecast๋ฅผ ๊ฒ€์‚ฌํ•ด์•ผ ํ•œ๋‹ค. 
  2. . rain์„ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•˜์˜€๊ณ  ์ดํ›„ ์ฒซ ๋ฒˆ์งธ rain์กฐ๊ฑด์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์ด๊ธฐ์— ๋‘ ๋ฒˆ์งธ rain์กฐ๊ฑด์ด ์ ˆ๋Œ€ ์‚ฌ์‹ค์ด ๋  ์ˆ˜ ์—†๋‹ค.
  3. . snow์— ๋Œ€ํ•œ ์กฐ๊ฑด์€ ์ „ํ˜€ ํ™•์ธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์ด ๋ˆ„๋ฝ๋˜์—ˆ๋‹ค. 

 

 

์ด๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด Switch์ด๋‹ค. ํ•ญ์ƒ ๊ทธ๋žฌ๋“ฏ์ด ์œ„์˜ ์˜ˆ์ œ๋ฅผ ํ•œ๋ฒˆ ๋ฐ”๊ฟ”๋ณด์ž.

 

 

switch forecast {
case .sun:
    print("It should be a nice day.")
case .rain:
    print("Pack an umbrella.")
case .wind:
    print("Wear something warm")
case .snow:
    print("School is cancelled.")
case .unknown:
    print("Our forecast generator is broken!")
}

 

์ž! ๋”ฑ ๋ณด๋ฉด ๋ฌธ์žฅ์˜ ์ˆ˜๊ฐ€  ๊ทน๋‹จ์ ์œผ๋กœ ์ž‘์•„์ง€๊ฑฐ๋‚˜ ๊ทธ๋Ÿฐ ๊ฑด ์—†๋‹ค. ํ•˜์ง€๋งŒ ์•ž์„œ ์–ธ๊ธ‰ํ•˜์˜€๋˜ ๋ฌธ์ œ์  3๊ฐ€์ง€๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ณด์™„ํ•˜๋ฉด์„œ ์ฝ๊ธฐ์—๋„ ํ›จ์”ฌ ํŽธ์•ˆํ•ด์กŒ๋‹ค. ์ด์ „์˜ ๊ฒฝ์šฐ forecast๋ฅผ ๋งค๋ฒˆ ๊ฒ€์‚ฌํ•˜์˜€์ง€๋งŒ, ์ง€๊ธˆ์€ ์ฒ˜์Œ switch์— ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์ดํ›„์—” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ snow์— ๋Œ€ํ•ด ๋ˆ„๋ฝํ•˜์ง€ ์•Š๊ณ  Weather์ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ชจ๋“  case๋“ค์„ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

 

 

Switch์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ธฐ๋ณธ ๊ฐ’์„ ์ง€์ •ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋“  ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ default:๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

let place = "Metropolis"

switch place {
case "Gotham":
    print("You're Batman!")
case "Mega-City One":
    print("You're Judge Dredd!")
case "Wakanda":
    print("You're Black Panther!")
default:
    print("Who are you?")
}

์ด ๊ฒฝ์šฐ place์— ํ• ๋‹น๋˜์–ด์žˆ๋Š” Metropolis์— ๋Œ€ํ•œ ๋ถ€ํ•ฉํ•˜๋Š” ์กฐ๊ฑด์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— default๊ฐ€ ์‹คํ–‰๋œ๋‹ค. 

 

 

 

 


 

 

5.  ์‚ผํ•ญ ์กฐ๊ฑด๋ถ€ ์—ฐ์‚ฐ์ž 

 

Swift์—์„œ ์กฐ๊ฑด์„ ํ™•์ธํ•ด๋ณด๋Š” ๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฒ•์œผ๋กœ  3๊ฐ€์ง€์˜ ์ž…๋ ฅ์œผ๋กœ ์‹คํ–‰ ๋˜๊ฒŒ ๋œ๋‹ค. 

 

enum Theme {
    case light, dark
}

let theme = Theme.dark

let background = theme == .dark ? "black" : "white"
print(background)

์ฒ˜์Œ ๋ณด๋ฉด ์ด๊ฒŒ ๋ญ”๊ฐ€ ์‹ถ์€ == ๊ณผ ? ๊ฐ€ ๋ˆˆ์— ๋ˆ๋‹ค. ์ด๊ฒŒ ์‚ผํ•ญ ์กฐ๊ฑด๋ถ€ ์—ฐ์‚ฐ์ž๋ฅผ ์„ค๋ช…ํ•ด์ฃผ๋Š” ์ข‹์€ ์˜ˆ์ œ์ธ๋ฐ ํ•œ๋ฒˆ ํ•ด์„ํ•ด๋ณด์ž.

Theme์— ๋Œ€ํ•œ case๋Š” light, dark๋กœ ์ด 2๊ฐ€์ง€์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” theme์— case ์ค‘ ํ•˜๋‚˜์ธ dark๋ฅผ ๋Œ€์ž…ํ•˜๊ฒŒ ๋˜๊ณ  ์ด๋ฅผ ๋‹ค์‹œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ํ• ๋‹นํ•œ๋‹ค. ๊ทธ๋ž˜์„œ theme์ด. dark์ด๋ƒ? ํ•˜๋Š” ์งˆ๋ฌธ์— ๋งž์œผ๋ฉด : ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•ž์— ์žˆ๋Š” "black"์„, ํ‹€๋ฆฌ๋ฉด ๋’ค์— ์žˆ๋Š” "white"๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๊ฐ€ ๊ฐ’์œผ๋กœ ํ• ๋‹น๋ฐ›๊ฒŒ ๋œ๋‹ค. 

 

theme์ด dark ์ด๋‹ˆ?? ์ฐธ์ด๊ธฐ ๋•Œ๋ฌธ์— black์„ ์ถœ๋ ฅํ•˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜์žˆ๋‹ค.

 

 

์ด๋ฒˆ์—๋Š” theme์— light๊ฐ€ ํ• ๋‹น ๋˜๋‹ˆ ์œ„์—๋Š” theme์— ์—ฌ์ „ํžˆ dark๊ฐ€ ํ• ๋‹น ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ์ง“์ด๋ฏ€๋กœ white๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ง€๊ธˆ์€ ๋”ฑํžˆ ์ค‘์š”ํ•ด ๋ณด์ด์ง€ ์•Š์ง€๋งŒ ์ดํ›„ ์ˆ˜์—…์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋•Œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์•Œ์•„๋Š” ๋‘๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค!๐Ÿ‘๐Ÿ‘

 

 


learning by repetition

 

 

https://www.hackingwithswift.com/100/swiftui/5

 

Day 5 – 100 Days of SwiftUI

Follow the 100 Days of SwiftUI and learn to build apps for free.

www.hackingwithswift.com

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'iOS > Swift ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ•จ์ˆ˜  (0) 2022.07.23
๋ฐ˜๋ณต๋ฌธ  (0) 2022.07.15
Type annotations(ํƒ€์ž… ์ถ”๋ก )  (0) 2022.07.12
๋ฐฐ์—ด(2)  (0) 2022.07.11
๋ฐฐ์—ด  (0) 2022.07.06
'iOS/Swift ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ•จ์ˆ˜
  • ๋ฐ˜๋ณต๋ฌธ
  • Type annotations(ํƒ€์ž… ์ถ”๋ก )
  • ๋ฐฐ์—ด(2)
NelchuPapa
NelchuPapa
  • NelchuPapa
    DEV_Larva
    NelchuPapa
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๋งํฌ

    • ๐Ÿ’ป Github
    • Develope (86)
      • Cloud (18)
        • AWS (14)
        • Linux (1)
        • Network (3)
      • CS (5)
      • iOS (28)
        • Swift ๋ฌธ๋ฒ• (14)
        • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ (7)
        • WWDC (2)
        • HIG (4)
      • Xcode (5)
        • Xcode ์˜ค๋ฅ˜ ๋ชจ์Œ์ง‘ (4)
        • ์‚ฌ์šฉํŒ (1)
      • SwiftUI & UIKit (19)
        • SwiftUI์˜ ๋ชจ๋“ ๊ฒƒ (1)
        • Tutorials (14)
        • Network (1)
        • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (1)
      • ์žก๋™์‚ฌ๋‹ˆ (10)
        • Git&Github (7)
        • Etc (0)
        • ๋ณผ๊ฑฐ๋ฆฌ (1)
        • My daily life (2)
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
NelchuPapa
์กฐ๊ฑด๋ฌธ & ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”