# ๊ณ ๋ฏผํ ์ ## ๐ค Merge ๋ด์ญ ### Model / ViewController ๋ชจ๋ธ๊ณผ ๋ทฐ์ปจํธ๋กค๋ฌ๋ฅผ ์๋ก ๋ค๋ฅธ ์ฌ๋์ด ์งฐ์ ๊ฒฝ์ฐ์๋ UI์ฐ๊ฒฐ์ ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๊ณ์ฐ๊ธฐ๊ฐ ์ ๋๋ก ์๋ํ๋์ง ์คํํด๋ณด๊ณ ์ถ๊ธฐ๋ ํ๊ณ step1-step2์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํด๋ณธ ๊ฒฐ๊ณผ, ๋ชจ๋ธ์ ๋ก์ง์ด ๊ฑฐ์ ๋น์ทํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ ์ฝ๋๋ ์ธํ ์์ฃผ, ๋ทฐ์ปจํธ๋กค๋ฌ ์ฝ๋๋ ๋ก์ฌ ์์ฃผ๋ก ๋จธ์งํด๋ดค์ต๋๋ค. -> ~~์ ๋๋ก ์คํ๋์ด ๊ธฐ๋ถ์ด ์ข์ต๋๋ค ๐~~ <br/> ### TypeAlias ๊ธฐ์กด์ ์ ์ธ๋์ด์๋ ํ์ ์ ์๋ก์ด ๋ณ์นญ์ ๋ถ์ฌ ๋ฐ๋ณต๋์ด ์ฌ์ฉ๋๋ ์ฝ๋์ ๊ธธ์ด๋ฅผ ์ค์ด๊ณ ๊ฐ๋ ์ฑ์ ๋์ด๋ ค๊ณ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค. ```Swift! typealias CurrentItem = (`operator`: String, operand: String) ``` ```swift //before calculateItemStackView.addCurrentItem(operator: currentOperator, operand: currentOperand) inputHandler.addInput(about: currentOperator, and: currentOperand) ``` ```swift // after calculateItemStackView.add(currentItem) inputHandler.addInput(about: currentItem) ``` <br/> # ์กฐ์ธ์ ์ป๊ณ ์ถ์ ์ ### ๐ค`layoutIfNeeded()`๋ฉ์๋ ์ฌ์ฉ ๋ ์ด์์์ ์๋ก ์ ๋ฐ์ดํธํ๋ ๋ฉ์๋๋ ๊ฝค๋ ์์คํ ๋ถํ๊ฐ ํฐ ๋ฉ์๋๋ผ๊ณ ์กฐ์ฌํ ์ ์ด ์์ต๋๋ค. ํ์ฌ ์ฝ๋์์๋ UIScrollView๋ฅผ ์์ํ CalculateItemScrollView ํ์ ์ override๋ฅผ ํตํด `didAddSubview(_:)` ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ฌ ์คํฌ๋กค์ ์ตํ๋จ์ผ๋ก ๋ด๋ ค์ฃผ๊ณ ์์ต๋๋ค. subview์ ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ณ arrangedSubview๋ก append๋๋ CalculateItemStackView ํ์ ์ `add(_:)`๋ฉ์๋์์ `didAddSubview(_:)`๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์๋๋ฐ์, didAddSubview๋ฅผ ์ฌ์ ์ํ์ง ์๊ณ ์คํฌ๋กค์ ์์น๋ฅผ ์ก์์ฃผ๋ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ผ๊น์? ์๋ก์ด ๋ฉ์๋๋ฅผ ์ ์ํ๋ค๋ฉด `layoutIfNeeded`๋ ์ฌ์ฉํ์ง ์์ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค! ๋ํ ์ฌ๊ธฐ์ layoutIfNeeded๊ฐ ํธ์ถ๋์ ๋, ๋ฐ์ํ๋ ์์คํ ๋ถํ๋ ์ด๋ค ํค์๋๋ก ๊ฒ์ํด๋ณด๋ฉด ์ ์ฐพ์๋ณผ ์ ์์๊น์?
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up