๐ News Clipping
ScrollView๋ฅผ ํ์ด์ง ๋จ์๋ก ๋๋ ์์ ๋ทฐ ์ฌ์ด๋ก ์ค๋
๋๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ ์ถ์ฒ : ํด ํ๋์จ , 2023๋
6์ 16์ผ ์์ฑ Xcode 15์ฉ์ผ๋ก ์
๋ฐ์ดํธ๋์์ต๋๋ค. iOS 17์์์ ์๋ก์ด ๊ธฐ๋ฅ SwiftUI์ ScrollView๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๋๋ฝ๊ฒ ์์ง์ด์ง๋ง, scrollTargetLayout() ๋ฐ scrollTargetBehavior() ์์ ์๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์์ ๋ทฐ ๋๋ ์ ์ฒด ํ์ด์ง๋ก ์๋์ผ๋ก ์ค๋
๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ์ฝ๋๋ ๊ฐ๋ก ์คํฌ๋กค ๋ทฐ์ 10๊ฐ์ ๋ฅ๊ทผ ์ฌ๊ฐํ์ ๋ฐฐ์นํ๋ฉฐ ๊ฐ๊ฐ์ด ์คํฌ๋กค ํ๊ฒ์ธ ๊ฒฝ์ฐ์
๋๋ค. .scrollTargetBehavior()๊ฐ .viewAligned๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ SwiftUI๋ ๋ฅ๊ทผ ์ฌ๊ฐํ ๊ฐ์ ์๋์ผ๋ก ์ค๋
๋ฉ๋๋ค. struct Conte..
๐ธ ๋์ ๋ค์ด์ด๋ฆฌ
[D+126] 2023-09-12 iOS ์คํฐ๋ ์์.. ๊ทผ๋ฐ ์ด์ Notion์ ๊ณ๋ค์ธ,, 8์ 25์ผ๋ถํฐ ์จ๋ฐ Swift๋ฌธ๋ฒ ๋ง์คํฐ ์ค์ฟจ (์จ๋ผ์ธ BootCamp - 2๊ฐ์๊ณผ์ ) 25๊ธฐ๋ฅผ ์์ํ๊ฒ ๋๋ค. ์จ๋ฐ์๊ฒ ๋ฌธ์ํ๋ฉด, ๊ฐ์๋ฅผ ๋๋ ์ฌ๋๋ค๋ผ๋ฆฌ ์คํฐ๋์ ์ฐธ๊ฐํ ์ ์๋ค.(์ ํ์ฌํญ) ์๋ญ์๊ธฐ : iOS ๊ฐ๋ฐ์ํ ๊บผ์์!! ๋ค๋ฅธ ๊ณต๋ถ ํ๋ฝํด์ฃผ์ธ์!! ๐ฅบ ๋๋ ์ด๋ฏธ ์ง๊ธ ๋ค๋๊ณ ์๋ ๋ถํธ์บ ํ(ํ์)์ ์ํด๋ฅผ ๊ตฌํํฐ๋ผ, ์คํฐ๋์ ์ฐธ๊ฐํ๊ธฐ๋ก ํ๋ค. 25๊ธฐ 1์กฐ ์คํฐ๋ ! ์จ๋ฐ์ด ๋น์ทํ ์ฌ๋๋ค๋ผ๋ฆฌ ๋ชจ์ ์กฐ๋ฅผ ์ง์ฃผ์๋ค. ์ฐ๋ฆฌ ์กฐ๋ ๋ ํฌํจํด์ 4๋ช
์ด๋ค. ์ฌ์ค ๋ด ์น๊ตฌ๊ฐ 24๊ธฐ๋ฅผ ํ๊ณ ์๋ค. ๊ทธ ์น๊ตฌ์ ์คํฐ๋์์ 8๋ช
์ด์๋๋ฐ, ํ ๋๋ช
์ด ๋๊ฐ๋๋ ๊ฒฐ๊ตญ ์คํฐ๋ ์์ฒด๊ฐ ํฐ์ก๋ค๊ณ ํ๋ค. ํ..๐คฏ ๊ทธ๋ฐ ์ฌํ๋ฅผ ๋ฏธ์ฐ์ ๋ฐฉ์งํด์ผ..
๐ News Clipping
iOS 17์์ SwiftUI์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ฌด์์ผ๊น์? ์ถ์ฒ : ํด ํ๋์จ , 2023๋
6์ 16์ผ ์์ฑ 2023๋
์๋ SwiftUI๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์ ํ๋ฉฐ ๊ณ ๊ธ ์คํฌ๋กค ๋ทฐ ํจ๊ณผ, ์ปจํ
์ด๋ ์๋ ํฌ๊ธฐ ์กฐ์ , Metal ์
ฐ์ด๋ ์ง์ ๋ฑ ๋ง์ ์์ฒญ ๊ธฐ๋ฅ์ ํฌํจํ ๋๊ท๋ชจ ์
๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค. ์ด๋ฒ ์
๋ฐ์ดํธ์์ ๊ฐ์ธ์ ์ผ๋ก ์์ฒญํ ๊ธฐ๋ฅ๋ค๋ก๋ Metal ์
ฐ์ด๋ ์ถ๊ฐ, Color๋ฅผ Codable๊ณผ ๋ ์ ํธํ๋๊ฒ ๋ง๋๋ ๊ธฐ๋ฅ, ์ ๋๋ฉ์ด์
์๋ฃ ์ ํด๋ก์ ์คํ, ๊ทธ๋ผ๋ฐ์ด์
์ ๋๋ฉ์ด์
, ์ง์ฌ๊ฐํ์ ๋ชจ์๋ฆฌ๋ฅผ ์ ํ์ ์ผ๋ก ๋ฅ๊ธ๊ฒ ๋ง๋๋ ๊ธฐ๋ฅ ๋ฑ์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ ์ฌํญ์ ๋ํ ์ฌ์ฉ์ ํผ๋๋ฐฑ์ผ๋ก ์ต์ 12๊ฐ ์ด์์ ํผ๋๋ฐฑ์ ๋ซ์์ต๋๋ค. SwiftUI๋ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์์ผ๋ฉฐ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ค..
๐ ์ง์ ์ฑ์ฐ๊ธฐ/์ฑ (iOS, Android)
StudyWithAllen ์จ๋ฐ๋์ด ํ๋ฝํ์ ์ ์๊ถ ๋ฒ์ ๋ด์์ ์์ฑํ์์ต๋๋ค!๐ Part3. ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์๋ฆฌ์ ์กฐ๊ฑด๋ฌธ ๐ฉ๐ป๐ป (Lecture 15) ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์๋ฆฌ์ if ์กฐ๊ฑด๋ฌธ ์์ฐจ : ๊ฐ๋ฐ์๊ฐ ์ ํ ๊ท์น์ ๋ฐ๋ผ ์์์ ์๋๋ก ์คํ ์กฐ๊ฑด๋ฌธ(if๋ฌธ) : ์ฐธ ๋๋ ๊ฑฐ์ง์ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํน์ ์ฝ๋๋ง ์คํํ๊ฒ ํ ์ ์๋ ๋ฌธ์ฅ (์) if num = 10 { print("10์ด๋ค.") } else { print("10์ด ์๋๋ค.") } ์กฐ๊ฑด๋ฌธ ์ค์ฒฉ ๊ณ์ ํ ์ ์์. ์กฐ๊ฑด์ ,๋ก ์ฌ๋ฌ ๊ฐ ์ฐ๊ฒฐ ๊ฐ๋ฅ (and ์ญํ ) && ์ ||๋ก ์ฐ๊ฒฐ ๊ฐ๋ฅ ๐ฉ๐ป๐ป (Lecture 16) ์กฐ๊ฑด๋ฌธ(Switch๋ฌธ) switch๋ฌธ์ if๋ฌธ๋ณด๋ค ํ์ ์ ์ธ ์ํฉ์์ ์ฌ์ฉํ๋ค. ์ค์์น๋ฌธ์ ํน์ง : ์ค์์น๋ฌธ์์ ์ผ์ด์ค..
๐ ์ง์ ์ฑ์ฐ๊ธฐ/์ฑ (iOS, Android)
StudyWithAllen ์จ๋ฐ๋์ด ํ๋ฝํ์ ์ ์๊ถ ๋ฒ์ ๋ด์์ ์์ฑํ์์ต๋๋ค!๐ Part1. ๋ณ์์ ์์ / ๋ฐ์ดํฐ ํ์
(The Basics) ๐ฉ๐ป๐ป (Lecture 8) ๋ณ์์ ์์(Data Type) ๋ณ์ : ๋ฐ์ดํฐ(์๋ฃ)๋ฅผ ๋ด์ ์ ์๋ ๊ณต๊ฐ. var ์ฌ์ฉ String Interpolation : \() ์์ : print(" ์ ์ ์ด๋ฆ์ \(name)์
๋๋ค.) ์์ : ๋ณํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ ๊ณต๊ฐ. let ์ฌ์ฉ ๊ฐ์์์ ๋
ธ๋์ ์์๋ ์์ ๐ฉ๐ป๐ป (Lecture 9) ์ค์ํํธ์ ๋ฐ์ดํฐ ํ์
Int ์ ์ Double ๋ถ๋์์์ String ๋ฌธ์์ด ๋ฌธ์์ด์ ๋ฐ๋์ ""๋ก ๊ตฌ์ฑํด์ผํจ. Bool ์ฐธ/๊ฑฐ์ง ๐ฉ๐ป๐ป (Lecture 10) ํ์
์ฃผ์ / ํ์
์ถ๋ก / ํ์
์์ ์ฑ / ํ์
๋ณ..
๐ ์ง์ ์ฑ์ฐ๊ธฐ/์ฑ (iOS, Android)
StudyWithAllen ์จ๋ฐ๋์ด ํ๋ฝํ์ ์ ์๊ถ ๋ฒ์ ๋ด์์ ์์ฑํ์์ต๋๋ค!๐ Part0. ๋ณธ๊ฒฉ์ ์ธ ์์
์ ์์ ์ฌ์ ์ค๋น ๐ฉ๐ป๐ป (Lecture 4) ๋ฉ๋ชจ๋ฆฌ์์ ์์์ ํํ ๋ฐฉ๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ๋นํธ์์ ์์๋ฅผ ํํํ๊ธฐ ์ํด ์ต์์ ๋นํธ๋ฅผ ๋ถํธ๋นํธ(Sign Bit)๋ก ์ฌ์ฉํจ ์์๋ฅผ ํํํ๋ ๋ฐฉ์์ 2์ ๋ณด์ ๋ฐฉ์์ ์ฌ์ฉ ๐ฉ๐ป๐ป (Lecture 5) ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ฌ์ฉ๋ฒ ๋ฐ ์ค์ ์๋ด shift+cmd+return ์ ์ฒด ์คํํค shift+opt+๐๐ป ํ ์ค ๋ณต์ฌ ๐ฉ๐ป๐ป (Lecture 6) ํ๋ก๊ทธ๋๋ฐ์์ ๋ฑํธ์ ์๋ฏธ์ print ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก =๋ ํ ๋น์ฐ์ฐ์. == ๋ ๊ฐ๋ค , != ๊ฐ์ง์๋ค. ์นด๋ฉ์ผ์ด์ค ์ฌ์ฉ (lowerCamelCase) ์ฃผ์ ์ธ๋ฏธ์ฝ๋ก ์ ํ์ฌํญ (ํ ์ค์ ์ฝ๋ ์ฌ๋ฌ ๊ฐ์ผ ๋ ..