DEV_Larva

λ³€μˆ˜μ™€ μƒμˆ˜ λ³Έλ¬Έ

iOS/Swift 문법

λ³€μˆ˜μ™€ μƒμˆ˜

NelchuPapa 2022. 6. 30. 19:47
λ°˜μ‘ν˜•

πŸ§‘‍πŸ’»μ΄λ²ˆ Swift μ‹œκ°„μ— λ°°μ›Œλ³Ό 것은  λ‹€μŒκ³Ό κ°™λ‹€. πŸ‘¨πŸ»‍πŸ’»

  • λ³€μˆ˜μ™€ μƒμˆ˜λ₯Ό λ§Œλ“œλŠ” 방법
  • λ¬Έμžμ—΄μ„ λ§Œλ“œλŠ” 방법 
  • μ •μˆ˜λ₯Ό μ €μž₯ ν•˜κ³  μ‚¬μš©ν•˜λŠ” 방법 
  • μ†Œμˆ˜λ₯Ό μ €μž₯ ν•˜κ³  μ‚¬μš©ν•˜λŠ” 방법 

 


1.  λ³€μˆ˜μ™€ μƒμˆ˜λ₯Ό λ§Œλ“œλŠ” 방법 

 

 

varλŠ” μƒˆλ‘œμš΄ λ³€μˆ˜λ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©λ˜λŠ” ν‚€μ›Œλ“œμ΄λ‹€. ν•΄λ‹Ή μ˜ˆμ‹œμ—μ„œλŠ” greetingμ΄λΌλŠ” λ³€μˆ˜λ₯Ό ν˜ΈμΆœν•˜κ²Œ λ˜λŠ”λ°, μ€‘μš”ν•œ 것은 λ³€μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ κ°œλ°œμžκ°€ μ›ν•˜λŠ” λŒ€λ‘œ λ§Œλ“€ 수 μžˆλ‹€λŠ” 것이닀. greeting뿐만 μ•„λ‹ˆλΌ κ·Έ λ³€μˆ˜λ₯Ό μ„€λͺ…ν•  수 μžˆλŠ” ν‚€μ›Œλ“œλ₯Ό λ§Œλ“€ 수 μžˆλ‹€λŠ” 것이닀.

= μœ„μ—μ„œ μ„ μ–Έν•œ λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜λŠ” κ²ƒμœΌλ‘œ μ˜ˆμ‹œμ—μ„œλŠ” "Hello, playground” λΌλŠ” ν…μŠ€νŠΈλ₯Ό ν• λ‹Ήν•œ 것을 확인할 수 μžˆλ‹€.

 

 

 

 

이λ₯Ό μ΄μš©ν•΄μ„œ μ˜ˆμ‹œμ™€ 같이 λ³€μˆ˜ 할당을 ν•΄λ³Όμˆ˜λ„ μžˆλ‹€. nameμ΄λΌλŠ” λ³€μˆ˜μ— μ²˜μŒμ—λŠ” TedλΌλŠ” 값이 ν• λ‹Ήλ˜κ²Œ λœλ‹€. ν•˜μ§€λ§Œ μ΄ν›„μ—λŠ” Rebecca, 그리고 λ‹€μŒμœΌλ‘œλŠ” Keeley둜 ν• λ‹Ήν•œ 것을 λ³Ό 수 μžˆλ‹€. μ—¬κΈ°μ„œ varλŠ” 기쑴의 λ³€μˆ˜λ₯Ό μˆ˜μ •ν•˜μ—¬ μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— μƒˆλ‘œμš΄ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜μ§€ μ•ŠλŠ”λ‹€.

 

 

 

κ·Έλ ‡λ‹€λ©΄ λ³€μˆ˜μ˜ 값을 λ³€κ²½ν•˜κ³  μ‹Άμ§€ μ•Šλ‹€λ©΄? μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ? πŸ€”

μ΄λŠ” μƒμˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ λ˜λŠ”λ° μƒμˆ˜λ₯Ό μ„ μ–Έ ν• λ•Œμ—λŠ” var λŒ€μ‹ μ— let을 μ‚¬μš©ν•˜κ²Œ λœλ‹€. μ΄ν›„μ˜ μ‚¬μš©λ²•μ€ 기쑴의 var와 λ™μΌν•˜λ‹€.

 

 

κ·Έλ ‡λ‹€λ©΄ λ³€μˆ˜μ— ν• λ‹Ήλ˜μ–΄ μžˆλŠ” 값을 λ°”κΏ€ μˆ˜λŠ” μžˆμ„κΉŒμš”? NO!πŸ™…‍♀️

μ•žμ„œ var의 κ°’ 할당을 μˆ˜μ •ν•¨μ— 따라 값이 λ°”λ€ŒλŠ” 것을 확인할 수 μžˆμ—ˆλŠ”λ° let의 경우 μƒμˆ˜λ₯Ό λ³€κ²½ν•  μˆ˜λŠ” μ—†λ‹€.

 

 

 

μ•žμ„œ μ„€λͺ…ν•˜μ˜€λ˜ κ²ƒμ²˜λŸΌ ν•΄λ‹Ή μ˜μƒμ—μ„œλŠ” λ³€μˆ˜λ³΄λ‹€λŠ” μƒμˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 것을 μΆ”μ²œν•œλ‹€. μ΄μœ λŠ” Swiftκ°€ μ½”λ“œλ₯Ό 더 μ΅œμ ν™”ν•  수 μžˆλŠ” 기회λ₯Ό μ œκ³΅ν•  뿐만 μ•„λ‹ˆλΌ Swiftκ°€ 값을 μ‹€μˆ˜λ‘œ λ³€κ²½ν•˜μ§€ μ•Šλ„λ‘ ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.

 


2.  λ¬Έμžμ—΄μ„ λ§Œλ“œλŠ” 방법 

 

μƒμˆ˜λ‚˜ λ³€μˆ˜μ— ν…μŠ€νŠΈ 값을 ν• λ‹Ήν•˜λŠ” 것을 λ¬Έμžμ—΄μ΄λΌκ³  ν•œλ‹€. λ¬Έμžμ—΄μ˜ μ‹œμž‘κ³Ό 끝은 ν°λ”°μ˜΄ν‘œλ‘œ ν‘œν˜„ν•˜λ©° λ‹€μŒκ³Ό 같이 이λͺ¨ν‹°μ½˜μ΄λ‚˜ 기타 문자 λ˜ν•œ ν‘œν˜„μ΄ κ°€λŠ₯ν•˜λ‹€. 

 

λ˜ν•œ λ¬Έμžμ—΄ 내뢀에 λ‹€λ₯Έ ν°λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€. Swiftκ°€ λ¬Έμžμ—΄μ΄ λλ‚˜λŠ” 것이 μ•„λ‹ˆλΌ λ¬Έμžμ—΄ μ•ˆμ— μžˆλ‹€λŠ” 것을 μ΄ν•΄ν•˜λ„λ‘ λ°± μŠ¬λž˜μ‹œλ₯Ό μ•žμ— 놓도둝 μ£Όμ˜ν•˜μ—¬μ•Ό ν•œλ‹€. 

let quote = "Then he tapped a sign saying \"Believe\" and walked away."

 

λ§Œμ•½μ— κΈ΄ λ¬Έμž₯을 λ‹€μŒκ³Ό 같이 ν‘œν˜„ν•˜λ©΄ Swiftμ—μ„œλŠ” μ–΄λ–»κ²Œ 될까? μ΄λ ‡κ²ŒλŠ” 많이 ν‘œν˜„ν•˜μ§€ μ•Šμ§€λ§Œ κ·Έλž˜λ„ 해보고 μ‹Άμ—ˆλ‹€.

"A day in
the life of an
Apple engineer"

였λ₯˜κ°€ μ™•μ°½λ‚œλ‹€.πŸ™€πŸ™€

Swiftμ—μ„œλŠ” λ‹€μŒκ³Ό 같이 μ—¬λŸ¬ 쀄에 λŒ€ν•˜μ—¬ μ΄μ „μ˜ λ¬Έμžμ—΄μ„ ν‘œν˜„ν•˜λŠ” κ²ƒμ²˜λŸΌ ν•˜μ˜€μ„ λ•Œ 였λ₯˜κ°€ λ‚˜λŠ” 것을 확인할 수 μžˆλ‹€. λ”°λΌμ„œ μ—¬λŸ¬ μ€„μ˜ λ¬Έμž₯을 ν‘œν˜„ν•˜κ³  싢을 λ•ŒλŠ” μ•„λž˜ 그림처럼 ν°λ”°μ˜΄ν‘œλ₯Ό μ„Έ 번 μ—°κ²°ν•΄μ„œ ν‘œν˜„ν•œλ‹€λ©΄ μ •μƒμ μœΌλ‘œ 좜λ ₯이 κ°€λŠ₯ν•˜λ‹€. 

μ΄λ ‡κ²Œ!!

 

 

-  λ¬Έμžμ—΄μ„ μ΄μš©ν•œ λ‹€μ–‘ν•œ κΈ°λŠ₯(count, uppercased, hasPrefix)

 

κ·Έλ ‡λ‹€λ©΄ 이제 λ¬Έμžμ—΄μ„ μ΄μš©ν•΄μ„œ μ’€ 더 μœ μš©ν•œ κΈ°λŠ₯을 μ•Œμ•„λ³΄μž! λ‹€μ–‘ν•œ κΈ°λŠ₯듀이 λ§Žμ§€λ§Œ λŒ€ν‘œμ μΈ 것 λͺ‡ 개만 μ‹€μŠ΅ν•΄λ³΄μ•˜λ‹€.

 

(1) count

 

count의 경우 λ³€μˆ˜λ‚˜ μƒμˆ˜μ˜ 이름 뒀에 μž‘μ„±ν•˜μ—¬ λ¬Έμžμ—΄μ˜ 길이λ₯Ό 읽어낼 수 μžˆλ‹€. 

μ•žμ—μ„œ μ„ μ–Έν•˜μ˜€λ˜ movie의 λ¬Έμžμ—΄μ„ μΈ‘μ •ν•΄λ³΄μž.

38κΈ€μžλΌκ³  잘 λ‚˜νƒ€λ‚΄μ£ΌλŠ”κ²ƒμ„ 확인 ν•  μˆ˜μžˆλ‹€.

(2) uppercased, lowercased 

 

λ¬Έμžμ—΄μ„ λŒ€λ¬Έμžμ™€ μ†Œλ¬Έμžλ‘œ ν‘œν˜„ν•˜κ³  μ‹Άλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ?  πŸ€”

C μ–Έμ–΄μ—μ„œ toupper, tolower처럼 Swiftμ—μ„œλ„ λΉ„μŠ·ν•˜κ²Œ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€. 

Swiftμ—μ„œλŠ” uppercased()와 lowercased()λ₯Ό μ΄μš©ν•˜μ—¬ 문자λ₯Ό λŒ€λ¬Έμžμ™€ μ†Œλ¬Έμžλ‘œ 좜λ ₯ν•œλ‹€. 

 

μ²«λ²ˆμ§ΈλŠ” λŒ€λ¬Έμžλ‘œ λ‘λ²ˆμ§ΈλŠ” μ†Œλ¬Έμžλ‘œ ν‘œν˜„ ν•΄λ³΄μ•˜λ‹€.

 

 

(3)hasPrefix, hasSuffix

 

hasPrefix 와 hasSuffixλŠ” λ¬Έμžμ—΄μ—μ„œ ν•΄λ‹Ή λ‹¨μ–΄λ‘œ μ‹œμž‘κ³Ό λλ§ΊμŒμ„ λ§ΊλŠ”μ§€μ— λŒ€ν•œ μ—¬λΆ€λ₯Ό μ•Œλ €μ£ΌλŠ” ν•¨μˆ˜μ΄λ‹€. μ‚¬μš©λ²•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

quote의 μ‹œμž‘μ€ λ¬ΈμžλŠ” The, 끝 λ¬ΈμžλŠ” Swift이닀.

 

λ³€μˆ˜ quote의 κ°’μ—μ„œ μ‹œμž‘ 단어와 끝 단어λ₯Ό 각각 hasPrefix, hasSuffix에 λ„£μ–΄λ³΄λ‹ˆ trueλΌλŠ” κ²°κ³Ό 값인 것을 확인해볼 수 μžˆμ—ˆλ‹€. μ—¬κΈ°μ„œ μ€‘μš”ν•œ 것은 두 κ°€μ§€ λͺ¨λ‘ 단어λ₯Ό μ΄λ£¨λŠ” 문자 ν•˜λ‚˜ν•˜λ‚˜μ˜ λŒ€μ†Œλ¬Έμžμ— 따라 κ²°κ³Ό 값이 달라지기 λ•Œλ¬Έμ— μ°ΎμœΌλ €λŠ” 단어λ₯Ό μ£Όμ˜ν•΄μ„œ μž…λ ₯ν•΄μ•Ό μ›ν•˜λŠ” κ²°κ³Ό 값을 얻을 수 μžˆλ‹€. 

 

 


λ‹€μŒ μ‹œκ°„μ—λŠ” 남은 뢀뢄인 μ •μˆ˜μ™€ μ†Œμˆ˜μ μ„ μ €μž₯ν•˜κ³  μ‚¬μš©ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž.!!!

κ³ μƒν•˜μ…¨μŠ΅λ‹ˆλ‹€~λ°•μˆ˜ μ§μ§μ§πŸ‘

learning by repetition

 

 

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

 

Day 1 – 100 Days of SwiftUI

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

www.hackingwithswift.com

 

λ°˜μ‘ν˜•

'iOS > Swift 문법' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

λ°°μ—΄(2)  (0) 2022.07.11
λ°°μ—΄  (0) 2022.07.06
Bool & λ¬Έμžμ—΄ 보간법  (0) 2022.07.05
λ³€μˆ˜μ™€ μƒμˆ˜(2)  (0) 2022.07.01
HACKING WITH SWIFT - 0  (0) 2022.06.20