iOS ์•ฑ ๊ฐœ๋ฐœ ๊ณต๋ถ€/TIL

2์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ•์ข…ํ•ฉ๋ฐ˜ ๊ธฐ์ดˆ_(1์ผ์ฐจ)

yeggrrr๐Ÿผ 2024. 3. 4. 20:47
728x90

 


 

 


< 1์ฃผ์ฐจ ๋งˆ๋ฌด๋ฆฌ - 2์ฃผ์ฐจ ์‹œ์ž‘ TIL>

์˜ค๋Š˜ ํ”„๋กœ์ ํŠธ ํŒ€๋“ค์ด ์ง€๊ธˆ๊นŒ์ง€ ์ค€๋น„ํ•ด์™”๋˜ ๋ฐœํ‘œ๊ฐ€ ์žˆ๋Š” ๋‚ ์ด๋‹ค. (zoom ์ „์› ์ฐธ์„)
๋น„๋ก ์šฐ๋ฆฌํŒ€์€ ์˜จ๋ณด๋”ฉํŒ€์ด๋ผ์„œ 1์ฃผ์ฐจ์—๋Š” ๊ฐ•์˜ & ๊ฐœ์ธ ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœํ‘œ๋Š” ์—†์—ˆ๋‹ค!

์˜ค๋Š˜ ๋ฐœํ‘œํ–ˆ๋˜ ํŒ€์€ ์ด 5ํŒ€์ด์—ˆ๋‹ค.
๋‹ค์„ฏ ํŒ€ ๋ชจ๋‘ '์ž์‹ ์˜ ํŒ€์„ ์†Œ๊ฐœ'๋ฅผ ์ฃผ์ œ๋กœ ์–ดํ”Œ์„ ๋งŒ๋“ค์—ˆ๊ณ ,
ํ”„๋กœ์ ํŠธ๋ฅผ ๊ทธ๋™์•ˆ ์–ด๋–ป๊ฒŒ ์ค€๋น„ํ•ด์™”๋Š”์ง€, ๋ฌธ์ œ์ ์€ ์—†์—ˆ๋Š”์ง€, ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ๋“ฑ๋“ฑ
๊ทธ๋ฆฌ๊ณ  ๋งŒ๋“  ์–ดํ”Œ์„ ์ง์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ์†Œ๊ฐœ๋ฅผ ํ•ด์ฃผ์…จ๋‹ค.

์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค์ด ๋งŒ๋“  ์–ดํ”Œ์„ ๋ณด์ž๋งˆ์ž ๊ฐํƒ„ + ๊ฐํƒ„ + ๊ฐํƒ„ ์ด์—ˆ๋‹ค.๐Ÿ˜ฒ

์ค€๋น„ ๊ธฐ๊ฐ„์ด ์งง์•˜๋˜๋งŒํผ ๋งŽ์€ ๋‚ด์šฉ๋“ค์ด ์žˆ์ง€๋Š” ์•Š์•˜์ง€๋งŒ,
๊ฐ ํŒ€๋“ค์ด ์›ํ•˜๋˜ ๋Œ€๋กœ ๋””์ž์ธํ•˜๊ณ , ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด๊ณ  ๋„ˆ๋ฌด ์‹ ๊ธฐํ•˜๊ธฐ๋„ํ•˜๊ณ  ๊ฐํƒ„ํ–ˆ๋‹ค.


ํŠนํžˆ, ๊ธฐ์–ต์— ๋‚จ๋Š” ๊ฒƒ์€ ์ธ์Šคํƒ€๊ทธ๋žจ์ฒ˜๋Ÿผ ๊พธ๋ฉฐ์„œ '์Šคํ† ๋ฆฌ, ํ”ผ๋“œ'๋ฅผ ํ‘œํ˜„ํ–ˆ๋˜ ์กฐ๊ฐ€ ๊ฐ€์žฅ ๊ธฐ์–ต์— ๋‚จ์•˜๋‹ค.


'์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์šด ๊ฑธ๋กœ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ตฌ๋‚˜..
์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ–ˆ์ง€? ํ”„๋กœ์ ํŠธ ํŒ€์€ ๋ฒŒ์จ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜.. ๋‚˜๋„ ์–ผ๋ฅธ ํ•˜๊ณ ์‹ถ๋‹ค!! ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค..๐Ÿฅน'


์•„์ง ์•ฑ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ ๊ฐ•์˜ ๋ง›๋ณด๊ธฐ๊นŒ์ง€ ๋ฐฐ์šด ์ž…์žฅ์ด๋ผ ์ด๋Ÿฐ์ €๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๐Ÿ”ฅ๋‚จ์€ 4๊ฐœ์›” ์—ด์ •์„ ์งœ๋‚ด์„œ ์ปค๋ฆฌํ˜๋Ÿผ๋Œ€๋กœ ์ž˜ ๋”ฐ๋ผ๊ฐ€์•ผ๊ฒ ๋‹ค.๐Ÿ”ฅ

์˜ค๋Š˜ ๋ณธ์บ ํ”„ ๋ฐœํ‘œ ์ผ์ •์ด ๊ณ„ํš๋ณด๋‹ค ๋นจ๋ฆฌ ๋๋‚œ ๊ด€๊ณ„๋กœ
์›๋ž˜๋Š” ๋‚ด์ผ ์—ด๋ฆด ๊ฐ•์˜๋ฅผ ์˜ค๋Š˜ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์˜ฌ๋ ค์ฃผ์…จ๋‹ค.

์•„๋ž˜ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์€ 2์ฃผ์ฐจ ์ฒซ๋ฒˆ์งธ ๊ฐ•์˜(Swift์–ธ์–ด ์†Œ๊ฐœ ๋ฐ ๊ณต๋ถ€ ์ •๋ณด)์ด๋‹ค.

Swift ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์€ ์˜ค๋Š˜ & ๋‚ด์ผ ๊ฐ•์˜๋ฅผ ์‹œ์ฒญํ•œ ํ›„,
๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ์— ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค! :-)


 

(20:30~21:00)
12์กฐ์™€์˜ ๋งˆ์ง€๋ง‰ ํšŒ๊ณ ์‹œ๊ฐ„..ใ… ใ… 
์ˆ˜๊ณ ํ–ˆ๋‹ค๋ฉฐ ๋‹ค๊ฐ™์ด ์ ํ”„ํ•˜๋ฉฐ ๋งˆ๋ฌด๋ฆฌ๐Ÿ˜‚๐Ÿคฃ




 

Swift ์–ธ์–ด๋ž€?


Swift(์Šค์œ„ํ”„ํŠธ) ์–ธ์–ด๋Š” 2014๋…„ 6์›” 2์ผ 
WWDC(Worldwid Developers Conference)์—์„œ ์ตœ์ดˆ ์†Œ๊ฐœ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

Swift ์–ธ์–ด ํŠน์ง• ํฌ๊ฒŒ 2๊ฐ€์ง€๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

์ฒซ ๋ฒˆ์งธ, ์•ˆ์ •์„ฑ์ด๋‹ค.

Swift(์Šค์œ„ํ”„ํŠธ)๋Š” Type์— ์—„๊ฒฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.
๊ทธ๋ž˜์„œ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์— ๋‹ค๋ฅธ ํƒ€์ž…์ธ ์ˆซ์ž ํƒ€์ž…์˜ ๊ฐ’์„ ๋‹ด์„ ์ˆ˜ ์—†๋‹ค.
๋˜ํ•œ, ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ํƒ€์ž… ์ฒดํฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค.

Swift(์Šค์œ„ํ”„ํŠธ)๋Š” nil์— ์—„๊ฒฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.
Swift ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ปดํŒŒ์ผ ์‹œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” nil ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋„๋ก ํ•œ๋‹ค.
๋งŒ์•ฝ, nil์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ?(๋ฌผ์Œํ‘œ) ๋ชจ์–‘์˜ ์˜ต์…”๋„(Optional)์„ ์ด์šฉํ•ด์„œ ํ‘œ์‹œํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋‘ ๋ฒˆ์งธ, ํ‘œํ˜„์„ฑ์ด๋‹ค.

Swift(์Šค์œ„ํ”„ํŠธ)๋Š” ํ‘œํ˜„์„ฑ์„ ๊ณ ๋ คํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.
Swift๋Š” ํ•จ์ˆ˜์˜ ์ธ์ž๋ฅผ ์ •์˜ํ•  ๋•Œ 'argument label(์ธ์ž ์ด๋ฆ„)'๋ผ๋Š” ๊ฒƒ์„ ์ •์˜ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
์ธ์ž ์ด๋ฆ„์ด๋ผ๋Š” ๊ฒƒ์€ ๋ง ๊ทธ๋Œ€๋กœ ์ธ์ž๊ฐ€ ๋ฌด์—‡์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์ด๋ฆ„์ด๋‹ค.
์ด๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณณ์—์„œ ์˜๋ฏธ๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ณ , 
ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋Š” ์ด๋ฅผ ์ข€ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€ํ˜•ํ•ด์„œ ์“ฐ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
์ธ์ž์ด๋ฆ„์€ (_)๋ฅผ ํ†ตํ•ด ์ƒ๋žต๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. 

(๊ฐ•์˜์—์„œ๋Š” from์„ ์˜ˆ์‹œ๋กœ ๋“ค์–ด ์ฃผ์…จ๋Š”๋ฐ, ์ถ”ํ›„ ๊ฐ•์˜์—์„œ ๋ฐฐ์šธ ์˜ˆ์ •์ด๋‹ˆ 

๊ทธ ๋•Œ ๋“ฑ์žฅํ•˜๋ฉด '์•„! ์ด๊ฑฐ์˜€๊ตฌ๋‚˜' ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ์•„๋‘๊ณ  ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค.)

๋˜ํ•œ, Swift๋Š” ๋‹ค์ค‘ ํŒจ๋Ÿฌ๋‹ค์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.
๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„, 
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„, ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ง€์›ํ•œ๋‹ค.


 

๊ณต์‹ ์ž๋ฃŒ ์†Œ๊ฐœ



1. Apple Delveloper Documentation
(https://developer.apple.com/documentation/)

์›ํ•˜๋Š” iOS, Swift ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
์ฃผ์ œ๋ณ„ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ sample code์™€ ์„ค๋ช…๋„ ์ œ๊ณต๋œ๋‹ค.



2. Swift Programming Language Guide(Eng)
/ The Swift Language Guide (ํ•œ๊ตญ์–ด) 
(https://docs.swift.org/swift-book/documentation/the-swift-programming-language/)
/(https://bbiguduk.gitbook.io/swift/)

Swift(์Šค์œ„ํ”„ํŠธ) ์–ธ์–ด์— ๋Œ€ํ•ด์„œ ์‚ฌ์ „์ฒ˜๋Ÿผ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์†Œ๊ฐœ, ์›๋ฆฌ, ์‚ฌ์šฉ๋ฒ•, ์ฃผ์˜์  ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ•œ๊ตญ์–ด ๋ฒ„์ „ ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ๋„ ์žˆ๋‹ค. (2๋ฒˆ์งธ ๋งํฌ)



3. Swift API Design Guidelines
(https://www.swift.org/documentation/api-design-guidelines/)

๋„ค์ด๋ฐ์ด๋‚˜ ์ปจ๋ฒค์…˜ ๋“ฑ์„ ์ •ํ•  ๋•Œ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์€ API ๋””์ž์ธ ๊ฐ€์ด๋“œ ๋ผ์ธ์ด๋‹ค.
Swift๋Š” ์นด๋ฉœ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.



4. Apple Developer WWDC Videos
(https://developer.apple.com/videos/all-videos/)

๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ๋ฅผ ์˜์–ด๋กœ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์•„์นด์ด๋ธŒ ๋˜์–ด์žˆ๋Š” WWDC ์˜์ƒ๋“ค์„ ์‹œ์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.
๋งค๋…„ 6์›” Apple์—์„œ ์‹ ์ œํ’ˆ, ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, OS ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๋“ฑ
๋‹ค์–‘ํ•œ ์ฃผ์ œ์— ๋Œ€ํ•ด ์†Œ๊ฐœ ๋ฐ ์„ค๋ช…ํ•œ๋‹ค.
WWDC์—์„œ ๋ฐœํ‘œ๋˜๋Š” ๋‚ด์šฉ์— ๋”ฐ๋ผ ๋Œ€์‘ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
iOS ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋งค๋…„ ์ฑ™๊ฒจ๋ด์•ผ ํ•˜๋Š” ์ค‘์š”ํ•œ ํ–‰์‚ฌ์ด๋‹ค.



5. iOS App Dev Tutorials
(https://developer.apple.com/tutorials/app-dev-training/)

UIKit, SwiftUI ๋“ฑ iOS ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ๋“ค์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ํŠœํ† ๋ฆฌ์–ผ์„ ์ œ๊ณตํ•œ๋‹ค.





 

728x90