> Vector? ๋ฉ๋ชจ๋ฆฌ heap์ ๋์ ํ ๋น๋๋ ์๋ฃ์ ๊ธธ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๋ฐฐ์ด์ ๋๋ค. ๋จผ์ , ๋ฉ๋ชจ๋ฆฌ heap๊ณผ ๋์ ํ ๋น์ ๋ํด์ ์ค๋ช ํด๋ณด๊ณ ์ ํฉ๋๋ค. ๋ค๋ค ๋ฉ๋ชจ๋ฆฌ ์์ ๊ตฌ์กฐ๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์์๋์? ์ ๋ heap์์ญ, stack์์ญ ๋ง์ด ๋ค์ด๋ดค์์ง๋ง ๊น๊ฒ ๊ณต๋ถํด๋ณธ ์ ์ด ์๋๊ตฐ์. ๊ทธ๋์ ์ด๋ฒ ๊ธฐํ๋ฅผ ๋น์ด ์กฐ๊ธ ๊น๊ฒ ํด๋น ๋ถ๋ถ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํด๋ดค์ต๋๋ค. ์คํ ์์ญ์ ํจ์๊ฐ ํธ์ถ๋์์ ๋ ํธ์ถ์ด ๋์๋ค๊ฐ ํจ์๊ฐ ์ข ๋ฃ๋จ๊ณผ ํจ๊ป ์ฌ๋ผ์ง๋ ๋ณ์๋ค์ ์๊ฐํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์ ์ปดํ์ผ ๊ณผ์ ์์ ํด๋น ๋ณ์๋ค์ ํฌ๊ธฐ๊ฐ ์ ํด์ง๊ณ ์ข ๋ฃ๋๋ฉด์ ๋ณ์๋ค๋ ์์ด์ง๋๋ค. ์ด์ ๋ฐ๋๋ก ํ ์์ญ์ ์ฌ์ฉ์๊ฐ ๊ด๋ฆฌํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋์ ์ผ๋ก ๋ณ์๋ฅผ ํ ๋นํ๊ณ ํด์ ํ ์ ์์ต๋๋ค. ์ ๊น๋ง ์ฌ์ฉํ๋ค๊ฐ ํด์ ํ๊ณ ์ถ์ ๋ณ์, ํจ์..
์ฝ๋ฉํ ์คํธ๋ฅผ ๋๋นํ๊ธฐ ์ํด์ ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ๋ค์ ์์ํ๋ ค๊ณ ํ๋, ์๋ฃ๊ตฌ์กฐ๋ ๋ฌด์ํ๊ณ ์๊ณ ๋ฆฌ์ฆ๋ถํฐ ๋ฌด์์ ๊ณต๋ถํ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ง๊ธฐ ์ํด์ ์ ์ ํํด์ผ ํ๋ ๊ฒ ๋ฌด์๋ณด๋ค๋ ์๋ฃ๊ตฌ์กฐ์ธ๋ฐ…. ์ง๊ธ๋ถํฐ๋ผ๋ ๋ ๊ฐ์ง๋ฅผ ์ ํฉ์ณ์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค. > ๋จผ์ ์๋ฃ๊ตฌ์กฐ๋ ๋ญ๊น์? ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ ๊ณผํ์์ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐ ์์ ์ ๊ฐ๋ฅ์ผ ํ๋ ์๋ฃ์ ์กฐ์ง, ๊ด๋ฆฌ, ์ ์ฅ์ ์๋ฏธํ๋ค. ๋ ์ ํํ ๋งํด, ์๋ฃ ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ ๊ฐ์ ๋ชจ์, ๋ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ์ ์ ์ฉํ ์ ์๋ ํจ์๋ ๋ช ๋ น์ ์๋ฏธํ๋ค. ์ ์คํ ์ ํํ ์๋ฃ๊ตฌ์กฐ๋ ๋ณด๋ค ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค. ์ด๋ฌํ ์๋ฃ๊ตฌ์กฐ์ ์ ํ๋ฌธ์ ๋ ๋๊ฐ ์ถ์ ์๋ฃํ์ ์ ํ์ผ๋ก๋ถํฐ ์์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํจ๊ณผ์ ์ผ๋ก ์ค๊ณ๋..
์๋ ํ์ธ์. ํด๋น ๊ฒ์๋ฌผ์ ๊ฐ๋ฐํ๋ ์ ๋๋ฆฌ๋์ ์ทจ์ค์์ ์ํ ์ค์ํํธUI ์ฑ๋ง๋ค๊ธฐ ๊ฐ์ข -fundamental Tutorial(2020) ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. ์ด๋ฒ์๋ WebKit๋ฅผ ์ฌ์ฉํด์ WebView๋ฅผ ํ ๋ฒ ์ฌ์ฉํด๋ณด๊ณ ์ ํฉ๋๋ค. WebView๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ WebView๋ฅผ ๊ตฌํํ .swift ํ์ผ์ ํ๋ ๋ง๋ค์ด ๋ด ์๋ค. ์ ๋ MyWebView.swift ํ์ผ์ ํ๋ ์์ฑํ์ต๋๋ค. WebView๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ WebKit๋ฅผ import ํด์ฃผ์ด์ผ ํ๋๋ฐ WebKit๋ ์น ์์ ์๋ ๊ฑธ ์ฑ ์์๋ค๊ฐ ๋ฃ์ด์ฃผ๋ ํ๋ ์์ํฌ๋ก Swift์์๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. WebKit๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ UIKit์ UIView์ ์ฌ์ฉํด์ผ ํ๋๋ฐ ์ฐ๋ฆฌ๋ ํด๋น WebView์ UIViewRepresentable๋ฅผ..
์๋ ํ์ธ์. ํด๋น ๊ฒ์๋ฌผ์ ๊ฐ๋ฐํ๋ ์ ๋๋ฆฌ๋์ ์ทจ์ค์์ ์ํ ์ค์ํํธUI ์ฑ๋ง๋ค๊ธฐ ๊ฐ์ข -fundamental Tutorial(2020) ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. 2021.04.15 - [iOS] - [SwiftUI] ์ด๊ธฐ ์ค์ ๋ฐ Basic ์ฝ๋ ์ง๋ณด๊ธฐ [SwiftUI] ์ด๊ธฐ ์ค์ ๋ฐ Basic ์ฝ๋ ์ง๋ณด๊ธฐ ์๋ ํ์ธ์. ํด๋น ๊ฒ์๋ฌผ์ ๊ฐ๋ฐํ๋ ์ ๋๋ฆฌ๋์ ์ทจ์ค์์ ์ํ ์ค์ํํธUI ์ฑ๋ง๋ค๊ธฐ ๊ฐ์ข -fundamental Tutorial(2020) ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. SwiftUI๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋จผ์ ์ ํ๋ก์ ํธ๋ฅผ ์ด ๋ New pr cannabuffer.tistory.com ์ ๋ฒ์ ์งํํ๋ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋๋ฅผ ์ง๊ธฐ ๋๋ฌธ์ ํน์๋ ์ ๊ฒ์๋ฌผ์ ๋ณด์ง ์์ผ์ จ๋ค๋ฉด ๋ณด์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค. ์ด๋ฒ์๋ isActi..
์๋ ํ์ธ์. ํด๋น ๊ฒ์๋ฌผ์ ๊ฐ๋ฐํ๋ ์ ๋๋ฆฌ๋์ ์ทจ์ค์์ ์ํ ์ค์ํํธUI ์ฑ๋ง๋ค๊ธฐ ๊ฐ์ข -fundamental Tutorial(2020) ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. SwiftUI๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋จผ์ ์ ํ๋ก์ ํธ๋ฅผ ์ด ๋ New project > App > Interface ๋ฅผ SwiftUI๋ก ๋ณ๊ฒฝํด์ค๋๋ค. ํด๋น ํ๋ก์ ํธ๋ฅผ ์ด๋ฉด ์ด๋ฐ ์์ผ๋ก ํ๋ฉด์ด ๋ณด์ผํ ๋ฐ์ SwiftUI๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ UIKit ๋์ SwiftUI๋ฅผ importํด์ผํฉ๋๋ค. struct ContentView๋ผ๊ณ ๋ณด์ด๋ ๋ถ๋ถ์ด ํ๋ฉด์ ๋ํ๋๋ ์ฝ๋๋ค์ ์ง๋ ๊ณณ ์ ๋๋ค. HTML๊ณผ ๋น์ทํ๊ฒ body์์๋ค๊ฐ ์ฝ๋๋ฅผ ์ง์ ํ๋ฉด์ ๋ณด์ด๋ ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ๊พธ๋ฉฐ์ค๋๋ค. struct ContentView_Previews ๋ previews ์์ ์๋ ..
2021/02/20 - [iOS] - [Swift] Enum 2021/02/19 - [iOS] - [Swift] Struct์ Class์ ์ฐจ์ด ์์์ struct, class, enum์ ๋ํด์ ์์๋ณด์๋ค. ์ด๋ฒ์๋ ์ด๋ค์ ํ์ ๊ณผ ๊ด๋ จ์๋ ๊ฐ์ธ property์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํ๋ค. ๐๐ผโ๏ธ What is Property? ํ๋กํผํฐ๋ ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ๊ณผ ๊ด๋ จํ ๊ฐ์ ๋๋ค. ํ๋กํผํฐ์ ์ข ๋ฅ์๋ ์ ์ฅ ํ๋กํผํฐ(Stored Properties)์ ๊ณ์ฐ๋ ํ๋กํผํฐ(Computed Properties)๊ฐ ์์ต๋๋ค. ์ ์ฅ ํ๋กํผํฐ๋ ๋ง ๊ทธ๋๋ก ๊ฐ์ ์ ์ฅํ๊ณ ์๋ ํ๋กํผํฐ์ด๊ณ , ๊ณ์ฐ๋ ํ๋กํผํฐ๋ ๊ฐ์ ์ ์ฅํ๊ณ ์์ง ์๊ณ ํน์ ํ๊ฒ ๊ณ์ฐํ ๊ฐ์ ๋ฐํํด ์ฃผ๋ ํ๋กํผํฐ์ ๋๋ค. ๊ณ์ฐ๋ ํ๋กํผํฐ๋ ํด๋์ค, ๊ตฌ์กฐ์ฒด,..
๋๋ C#์ผ๋ก ํ์ฐฝ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ธ ์์ ์ Enum๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค. Enum์ case๋ง๋ค ๊ฐ๊ฐ์ ์ ์๊ฐ์ ์ง์ ํ ์ ์๊ณ , ๊ธฐ๋ณธ๊ฐ์ผ๋ก 0, 1, 2 ... ๊ฐ ์ง์ ๋์ด ์์ด์ ์์๊ฐ ์๋ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ์๋ค. Swift๋ C#๊ณผ ๋์ผํ๊ฒ Enum๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ฌ์ฉํ๋ ๋ฐฉ์์ด ๊ฝค ๋ฌ๋ผ์ Swift์์์์ Enum์ฌ์ฉ๋ฒ์ ํ ๋ฒ ์์๋ณด๋ ค๊ณ ํ๋ค. ๐๐ผโ๏ธ What is Enum? ์ด๊ฑฐํ์ ๊ด๋ จ๋ ๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ทธ๋ฃน์ ๊ณตํต์ ํ์ผ๋ก(type) ์ ์ธํด ํ ์์ ์ฑ(type-safety)์ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋๋ฅผ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ค๋๋ค. C๋ Objective-C๊ฐ Integer๊ฐ๋ค๋ก ์ด๊ฑฐํ์ ๊ตฌ์ฑํ ๊ฒ์ ๋ฐํด Swift์์๋ case๊ฐ์ด string, charact..
Class ์ Struct์ ๋ํ ๊ถ๊ธ์ฆ์ด ์๊ฒผ๋ค. ๋ ๊ฐ์ง๋ฅผ ๋ฌดํฑ๋๊ณ ์ฌ์ฉํ๊ณ ๋น์ฐํ ViewController๋ฅผ ๋ง๋ค ๋๋ Class, Test Model๋ฅผ ๋ง๋ค ๋๋ Struct๋ก Model๋ฅผ ๋ง๋ค์๋ค. ์ด์ ๋ ํฌ๊ฒ ์์๊ณ ๊ทธ๋ฅ ๊ทธ๋ ๊ฒ ๋ฐฐ์ ๊ณ ๊ทธ๋ ๊ฒ ๋ง๋ค์ด ์๊ธฐ ๋๋ฌธ์. ์ด๋ค ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋์ง Class, Struct๋ ํฐ ์ฐจ์ด๊ฐ ์๋ค๊ณ ๋งํ๋๋ฐ ๊ทธ ๋ฏธ๋ฌํ ์ฐจ์ด๋ ๋ญ์ง ์ ๋ง์ ์ํด์ฃผ๋์ง.. ๊ทธ๋์ ๊ฒ์์ ํด๋ณด์๋ค. ๐ ๊ณตํต์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ๊ตฌ์กฐํํด์ ๋ฌถ์ด๋ ํ์ ํ๋์ ์ฌ์ฉ์ ์ง์ ํ์ ์ ๋ง๋๋ ๊ฒ ์ด๋์ ๋ผ์ด์ init ๋ฅผ ์ ์ํด์ ์ด๊ธฐ ์ํ๋ฅผ ์ง์ ํ ์ ์์ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ๋ฅผ ์ํด์ Extension ์ฌ์ฉ ๊ฐ๋ฅ Protocol ์ฌ์ฉ ๊ฐ๋ฅ ์๋ธ ์คํฌ๋ฆฝํธ ์ ์ ๊ฐ๋ฅ ํ๋กํผํฐ๊ฐ์ ์ ๊ทผํ๊ณ ์ถ๋ค๋ฉด..