1. ํ๋ฉด ์ ํ 1) ํ๋ฉด ์ ํ์ ํ์์ฑ 2) ํ๋ฉด ์ ํ ์ ๊ณ ๋ ค ์ฌํญ ๋ค๋น๊ฒ์ด์
์ปจํ
์ธ ์ ํ ๋ฐฉ์ (์์ธ ์ ๋ณด, ๊ธฐ์กด๊ณผ ๋ค๋ฅธ ์ ๋ณด) ์ ํ ํจ๊ณผ (ํ์ด์ง ์ ํ ํจ๊ณผ, ํ์
๋ฑ) 3) ๊ฐ๋ฐ๋ฐฉ๋ฒ (๊ตฌํ์ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น) ์ธํฐํ์ด์ค ๋น๋ (๋ฐฉํฅ ์ง์ ๊ฐ๋ฅ, ์ฝ๋ ํ์ ์์, ๊ตฌํ ์ฌ์, ์ธ๋ถ์ ๋์ ๋ถ๊ฐ๋ฅ) ์ฝ๋ (๋ฐฉํฅ ์ง์ ์ด๋ ค์, ์ฝ๋ ํ์, ์ปจํ
์ธ ํํ ์ฉ์ด, ์ธ๋ถ์ ๋์ ๊ฐ๋ฅ) ์ฝ๋๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ ๋ง์ด ์ฌ์ฉํ๋ ํธ์ด๋ค. 4) Show vs Modal showmodal push present pop dismiss 5) ์คํ ๋ฆฌ๋ณด๋ : Segue - Unwind 6) Modal Presentation Style full screen over full screen (full screen) over..
swift
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGE32x%2FbtrHUMMd49b%2FKqL5Re5dKXNJN98xVzMvf0%2Fimg.png)
ํด๋์ค์ ๊ตฌ์กฐ์ฒด 0. ์ฉ์ด์ ๊ตฌ๋ถ ํด๋์ค๋ ๊ตฌ์กฐ์ฒด๋ ํ๋์ ํฐ ๋ฐ์ค๋ผ๊ณ ์๊ฐํ ์ ์๋ค. ๊ทธ ๋์ ๋ค๋ค๋ ์์ ๋จ์์ ์๋ฃํ ๋๋ ํจ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ฌถ๋ ๊ณผ์ ์ด๋ค. ์ด์ ๋ฐ๋ผ์ ์ฉ์ด๋ฅผ ์กฐ๊ธ ๊ตฌ๋ถํ ํ์๊ฐ ์๋ค. ๋ณ์/์์ : ํ๋กํผํฐ ํจ์ : ๋ฉ์๋ ์์ 2๊ฐ์ง๋ฅผ ๋ฌถ์ด์ ๋ฉค๋ฒ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ค. 1. ํด๋์ค ํ์ ์ ์ฅ ์ค์ง์ ์ธ ๊ฐ์ ํ์ ์ ์ฅ(์๋ฃํ์ ๋ฐ๋ผ) ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์, ์ฐธ์กฐํ๋ ์ฃผ์๋ ์คํ์ ์ ์ฅ 2. ๊ตฌ์กฐ์ฒด ์คํ์ ์ ์ฅ ๊ฐ์ ๋ณต์ฌ (๋
๋ฆฝ์ ) 3. ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ(๊ธฐ์ด) ์ฝ๋ : ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋ ๋ฐ์ดํฐ : ์ ์ญ ๋ณ์, ํญ์ ๋ฉ๋ชจ๋ฆฌ ์ฐจ์ง ํ : ํด๋์ค๋ ๋ณดํต ํ์ ์ฌ๋ผ๊ฐ, ํด๋์ค๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ ์คํ : ํด๋์ค ์์ ํ๋กํผํฐ(์ค์ง์ ์ธ ๊ฐ)์ ์คํ์ ์ฌ๋ผ๊ฐ 4. ์ด๊ธฐํ ํด๋์ค๋ฅผ ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQHKzI%2FbtrHUgGPdUC%2F3DqkimSZYv4h31M6zarmAK%2Fimg.png)
์ ์ธ๊ณผ ์ด๊ธฐํ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ ์ ์ธ๋ง ํ๊ณ ๋์ค์ ์ด๊ธฐํ ์ต์
๋ ๊ฐ์ผ๋ก ํ์
์ ์ ํด์ค์ง ์๋์ง ๊ฒฐ์ ํ์ผ ์ถ๊ฐ ์ค์ ํ์ผ์ ๊ฒฝ๋ก์ ๊ด๊ณ(Reference)๋ฅผ ๋์ด์ฃผ์ด์ผ ํ๋ค. (์ถ๊ฐํ ๋๋ ์ญ์ ํ ๋) Class(ํด๋์ค) Super Class, Sub Class ๋ถ๋ชจ-์์์ ๊ด๊ณ๋ ์๋์ ์ธ ๊ฒ์ด๋ค. Super Class(๋ถ๋ชจ ํด๋์ค) Sub Class(์์ ํด๋์ค) -> Sub Classing(์์์ ๋ง๋๋ ๊ณผ์ ) Base Class(์ด๋์์๋ ์์๋ฐ๊ณ ์์ง ์๋ ํด๋์ค) Inheritance ๋ค๋ฅธ ํด๋์ค๋ก๋ถํฐ ๋ฉค๋ฒ(ํ๋กํผํฐ๋ ๋ฉ์๋)๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ธ ์ ์๋๋ฐ ์ด๋ฅผ ์์์ด๋ผ๋ ์ฉ์ด๋ก ๋ถ๋ฅผ ์ ์๋ค. ์์์ ๋ฐ์ ํด๋์ค๋ฅผ Sub Class๋ผ๊ณ ๋ถ๋ฅด๊ณ , ์์์ ํด์ค ํด๋์ค๋ Super Class์ด๋ค. ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbttroM%2FbtrHAH65tu4%2FrUD5EWMjnd0V8NFbvFnWBK%2Fimg.png)
์ฐ์ธก ํ๋ฉด์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ ์์๊น? ๊ฐ๋จํ๊ฒ TableViewController๋ฅผ ์ด์ฉํด๋ณด๋๋ก ํ์. ๋ค์ด๊ฐ๊ธฐ ์ ์ ์ฌ์ฉํ ํ๋กํ ์ฝ์ ๊ฐ๋จํ๊ฒ ์๊ฐํ๊ฒ ๋ค. CaseIterable ์ด๊ฑฐํ์ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ํ๋กํ ์ฝ CustomStringConvertible ์๋ ๋งํฌ ์ฐธ๊ณ [Swift] CustomStringConvertible ํ๊ฐ์ง ์๋ก ์๊ฒ๋ ๊ฒ์ CustomStringConvertible ํ๋กํ ์ฝ์ ์ฑํํ๊ณ , ์ถ๋ ฅ์ ํ๋ฉด description์ผ๋ก ์ ํด ๋์ String ๊ฐ์ผ๋ก ์ถ๋ ฅ๋๊ธธ๋ ๊ทธ ๋์ Type ์ญ์ String์ธ ์ค ์์์ง๋ง Type์ ๊ทธ๋๋ก ์ด๊ฑฐํ ํ์
์ด์๋ค. print(SettingType.total)์ ๊ฐ์ด ์ถ๋ ฅ์ ํ๋ฉด "์ ์ฒด ์ค์ "๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋๋๋ฐ ์ด๋ฅผ ํค..
๋ค์ด๊ฐ๋ฉฐ ๊ทธ ๋์ ๋๋ฌด ์๊ฐ์์ด forEach๋ฌธ์ ์ฌ์ฉํด์๋ ๊ฒ ๊ฐ๋ค. for-in๊ณผ ๋น์ทํ ์ญํ ์ ํ๋์ง๋ ์์์ผ๋ ์ ํํ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ๊น๊ฒ ์๊ฐํด ๋ณธ ์ ์ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฒจ์๋ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ์ ์ธ๊ณ์๊ธฐ์ ๋ฌด์์ ์จ์์ง๋ง ์ด์ ๋ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง๋ ์ง์ด๋ณด๊ณ ๊ฐ ๋์ด์ง ์์๊น ์ถ๋ค. ๋ฉํ ๋๊ป์ ์ด๋ฌํ ๋ถ๋ถ์ ๋ํด ์ธ๊ธํด์ฃผ์
์ ์ข์ ๊ธฐํ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ณ ์ ํ๋ค. for - in var nums: [Int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] // ์ปฌ๋ ์
์ ์ฌ์ด์ฆ๋งํผ ๋ฐ๋ณต for num in nums { print(num) } // 5๋ณด๋ค ํฐ ์๋ง ์ถ๋ ฅ for num in nums where num > 5 { print(num) } // ์ง์๋ง ์ถ๋ ฅ for num ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYKLyB%2FbtrHlzlORXn%2FdLRUIWTEWDP4RvAelLvF6K%2Fimg.png)
์ค๋์ ๋ญ๊ฐ ์๊ด์ค๋ฌ์ด(?!) ๋ ์
๋๋ค. ์๊ฐ๋ง ํ์๋ ์คํ์์ค Contributor ๋๊ธฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ๋๋ฌธ์ธ๋ฐ์. ์ฌ์ค ์ด๋ ๋ด๋๊ธฐ ์ ๋ง ๋ถ๋๋ฌ์ด Commit์ผ๋ก ๋ ๋ก ๋จน์ ๋๋์ด ์์ง๋ง์ ๊ทธ๋๋ ๋ฟ๋ฏํด์ ๊ธฐ๋ก์ ๋จ๊น๋๋ค. ํ์์๋ ์ ๋ช
ํ ์คํ์์ค์ ๊ธฐ์ฌ๋ฅผ ํ๊ณ ์ถ๋ค๋ ๋ง์ฐํ ๊ฟ์ ๊ฐ์ง๊ณ ์์์ง๋ง ์๋๊ฐ ์ ํ ๋์ง ์์์ต๋๋ค. ์์น ๊ณผ์ 9์ผ์ฐจ์ ์ ์ด๋ค๋ฉด์ ์ค๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด์ ๋ด์ฉ์ ๋ค๋ฃจ์๋๋ฐ์. ๋ฉํ ๋๊ป์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ช ๊ฐ๋ฅผ ์๊ฐํด์ฃผ์
จ์ต๋๋ค. ๊ทธ ์ค FSCalendar ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๋ฆ ์ ์ฆ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋๋ฐ์. ๊ฐ์ฅ ์ต๊ทผ์ ํ ํ๋ก์ ํธ์์๋ FSCalendar๋ฅผ ์ฌ์ฉํ์๊ณ , ๋๋ฆ ์ปค์คํ
๋ ํ๊ณ ํ์์ต๋๋ค. ์ด๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Contributor๋ก ์ด๋ฆ์ ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu2fJB%2FbtrG9lB17KI%2FnfoMzAzan6Bry6QVFwEmck%2Fimg.png)
๐ชด Summary AutoLayout Priority ViewController ์ข
๋ฅ (UIAlertController - Alert, Action Sheet - ์ค์ฌ์ผ๋ก ๋ณธ) Literal Playground ํจ์, ํจ์์ ๋ฐํ๊ฐ ๐ Memo TIL์ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ๋ค์ด์ง ๋ง์๋ค. AutoLayout Priority hugging priority resistance priority ์ฐ์ ์์๋ ์ดํ์ ๋ค๋ฅธ ์ํฐํด์์ ๋ ์์ธํ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ๋ค. View ๋๋ Button์ Tag ๊ฐ ๋ถ์ฌ UIView์๋ tag๋ผ๋ ํ๋กํผํฐ๊ฐ ์กด์ฌํ๋ค. ํด๋น ํ๋กํผํฐ๋ก ๊ฐ๊ฐ์ ์์๋ฅผ ๊ตฌ๋ถํ ์ ์๋๋ฐ ์ฌ๋ฌ ๊ฐ์ ๋์ผํ ์์๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๊ฑฐ๋ ์ก์
์ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค. ๋นจ๊ฐ์ ๋ฐ์ค ๋ถ๋ถ์ด UIBut..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPa33d%2FbtrGyNtep0v%2Fa6ojlDJWQp5VpUhnvAA2BK%2Fimg.png)
What's new in SF Symbols 4 Explore the latest updates to SF Symbols, Apple's extensive library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Discover the latest additions to the SF Symbols library and new categories in the app. Learn about the new Automatic behavior, which chooses the rendering mode that best highlights what's unique..