Swift (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Swift] Cannot assign to property: 'self' is immutable Cannot assign to property: 'self' is immutable ๋ฌธ์ ์์ธ๊ณผ ํด๊ฒฐ์ ๋ฌธ์ ๋ ๊ตฌ์กฐ์ฒด(Struct)์์ property๋ฅผ ํจ์๋ฅผ ํตํด์ ๋ณ๊ฒฝํ๋ ค๊ณ ํ ๋, ๋ฐ๊ฒฌํ ์ ์๋ค.๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌ์กฐ์ฒด๋ ์ค๋ ์ท(snap shot)์ ์ฐ์ด๋ด๋ ๊ฒ์ด๋ค.struct Example { var p = 0 func changeP() { p += 1 //p๋ฅผ 1์ฆ๊ฐ }}์ ์ฝ๋์์ p๋ ๊ฐ๋ณ ๋ณ์๋ก ์ ์ํ๋ค. ํ์ง๋ง ํด๋น ๊ตฌ์กฐ์ฒด๋ ๋ณํ์ง ์๋ ์ค๋ ์ท์ด ๋์ด์ผํ๊ธฐ์ ๊ตฌ์กฐ์ฒด ์ ์ฅ์์ ๋ถ๋ณ์ด์ฌ์ผํ property p๋ฅผ ๊ตฌ์กฐ์ฒด ๋ด๋ถ ํจ์์์ ๋ณ๊ฒฝํ ์ ์๋ค.var ex1 = Example()ex1.p = 1 //p๊ฐ์ ๋ณ๊ฒฝ์ ์ฒ๋ผ Example์ ์์๋ฐ์ ์์ฑํ ex1๊ฐ์ฒด๋ p๊ฐ.. [Swift Tutorial] Swift UI Layout ์์ ์์ญ / ํ๋ฉด ์ ์ฒด ์ฑ์ฐ๊ธฐ # Swift ์ฌ๋ฐฑ ์์ ๊ธฐ / ํ๋ฉด ์ ์ฒด ์ฑ์ฐ๊ธฐ 1. ์ ์ฝ ์กฐ๊ฑด ์ถ๊ฐํ๊ธฐ ์ถ๊ฐํ view๋ฅผ ์ ํ ํ ์ค๋ฅธ์ชฝ ํ๋จ์ ์ ์ฝ์ฌํญ ๋ฒํผ์ ์ถ๊ฐํด์ view์ ์ ์ฝ์ฌํญ์ ์ถ๊ฐํ๋ค. ๋ถ์ ํ์ดํ๋ก ํ์๋์ด์๋ ์ ์ ํด๋ฆญํ์ฌ ๋ค๋ฅธ view์ ์๋์ ์ธ ๊ฑฐ๋ฆฌ ์ ์ฝ์ ๋ง๋ ๋ค. 4๋ฉด์ ๊ฐ์ ์ ๋ ฅํ๋ฉด ๊ฑฐ๋ฆฌ ์ ์ฝ์ ๋ง๋ค ์ ์๋ค. (์ ์ฌ์ง์ ๊ฑฐ๋ฆฌ ์ ์ฝ์ 0์ผ๋ก ๋ง๋ฆ) ๊ฑฐ๋ฆฌ ์ ์ฝ์ 0์ผ๋ก ํ์์๋ ์ฌ๋ฐฑ์ด ์๊ธด ์ด์ ๋ ๊ฑฐ๋ฆฌ ์ ์ฝ์ด ์๋จ์ ๋ ธ์น๊ฐ ์คํฌ๋กค ๋ฐ๊ฐ ํฌํจ๋์ด์๋ ์์ ์์ญ(Safe area)๊ณผ ์ด๋ค์ก๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋์ view๋ฅผ ์ ์ฒด ํ๋ฉด์ผ๋ก ์ฑ์ฐ๊ธฐ ์ํด์๋ ์ด๋ฌํ ์ ์ฝ์ฌํญ์ safe area๊ฐ ์๋ ์ ์ฒด view๋ก ๋ง์ถฐ์ฃผ๋ฉด ๋๋ค. 2. ์ ์ฝ ์ฌํญ ๊ฐ์ฒด ๋ฐ๊พธ๊ธฐ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ์ชฝ view controller์์ cons.. [Swift Tutorial] Swift ๋์ ์์ฑ, ๋ฐฐ์ด ๋๋ค ์ ๊ทผ Swift ๋์ ์์ฑํ๊ธฐ Swift๋ ์ ์, ์ค์, ๋ ผ๋ฆฌํ ํ์ ์ random ํจ์๋ฅผ ์ด์ฉํด์ ๋์๋ฅผ ์์ฑํ ์ ์๋ค. //๋์ ์์ฑ Int.random(in: 0...10) //0~10 ์ ์ ๋๋ค(0, 10 ํฌํจ) Int.random(in: 0.. [Swift Tutorial] Swift print ๋ฌธ ์์ ์์ ๋ฐ ๋ณ์ ๋ฃ๊ธฐ Swift print๋ฌธ ๋ฌธ์์ด ์์ ์์ ๋ฐ ๋ณ์ ๋ฃ๊ธฐ Swift์ ๊ฒฝ์ฐ, Java, JavaScript, python ๋ฌธ์์ด ์ฌ์ด์ + ๋ฅผ ์ด์ฉํ์ฌ ์์์ด๋ ๋ณ์๋ฅผ ์ฝ์ ํ ์ ์๋ค. ๋์ , ๋ฌธ์์ด ์์ \([์์ ๋ฐ ๋ณ์]) ์ฒ๋ผ ์ญ์ฌ๋์ฌ ๊ดํธ ์์ ๊ฐ์ด๋ ์์์ ์ง์ ๋ฃ์ด์ ์ฌ์ฉํ ์ ์๋ค. // ์์ ์ง์ ์ ๋ ฅ print("1 + 1 = \(1+1)") //๋ณ์ ์ฝ์ var result = 3 print("1 + 2 = \(result)") [Swift Tutorial] Xcode UIImage imageLiteral / imageLiteralResourceName ์ฌ์ฉ ์์ UIImageView ๊ฐ์ฒด์ value๋ฅผ ํ ๋นํ๊ธฐ ์ํ imageLiteral / imageLiteralResourceName ์ฌ์ฉ ์์ 1. Asset์ ์ด๋ฏธ์ง ์์ฐ์ ๋ฑ๋ก ๋ค์ด๋ก๋ํ๊ฑฐ๋ ๊ฐ์ง๊ณ ์๋ ์ด๋ฏธ์ง ํ์ผ์ ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก Assets ๋๋ ํ ๋ฆฌ ํ์์ ๋ฃ์ต๋๋ค. 2. UIImageView ๊ฐ์ฒด ์ค๋น diceImageViewOne ์ด๋ผ๋ ์ด๋ฆ์ UIImageView ๊ฐ์ฒด๊ฐ ์์ฑ ๋ฐ ๋งํฌ ์ฐ๊ฒฐ๋ ๋ชจ์ต 3. ๊ฐ์ฒด์ ์์ฑ๊ณผ ๊ฐ(value)๋ฅผ ํ ๋น ๊ฐ์ฒด.์์ฑ = ๊ฐ ๊ฐ์ ํ ๋นํ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง 3-1 imageLiteral ์ฌ์ฉ ๊ฐ(value)์ ์์น์ "#imageLiteral(" ๊น์ง ํ์ดํํ๋ฉด imageLiteral์ด ์๋์์ฑ ๋๋ค. ์๋์์ฑ๋ iamgeLiteral์ ์ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ด๋ฏธ์ง ์.. ์ด์ 1 ๋ค์