# ๊ณ ๋ฏผํ•œ ์  ## ๐Ÿค 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๊ฐ€ ํ˜ธ์ถœ๋์„ ๋•Œ, ๋ฐœ์ƒํ•˜๋Š” ์‹œ์Šคํ…œ ๋ถ€ํ•˜๋Š” ์–ด๋–ค ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ์ž˜ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์„๊นŒ์š”?