์ด ๊ธ์ก์ ๋ํ๋ด๋ toralPriceNumLabel.text๋ฅผ ์ฐพ์๊ฐ์
sum์ ์ด์ด์ ์ฐพ์๊ฐ๋ณธ๋ค.
calculateTotalPrice()๋ฅผ ๋ค์ ์ฐพ์๊ฐ๋ณธ๋ค.
์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ์ํ์ ์ ๋ณด๊ฐ ๋ด๊ธด BasketItem ๋ฐฐ์ด์ธ
items์ ๋ชจ๋ ํญ๋ชฉ์ ์ํํ๋ฉฐ ๊ฐ ํญ๋ชฉ์ ๊ฐ๊ฒฉ์ ํฉ์ฐํ๋ ๋ถ๋ถ์ด๋ค.
reduce(0)์ ์ด๊ธฐ๊ฐ์ 0์ผ๋ก ์ค์ ํ๊ณ , result๋ ๋์ ๋ ๊ฐ, item์ ํ์ฌ ํญ๋ชฉ.
item.numbers๋ ํญ๋ชฉ์ ์๋์ด๊ณ , item.coffee.menuPrice๋ ์ปคํผ ๋ฉ๋ด์ ๊ฐ๊ฒฉ์ด๋ค.
Int(item.coffee.menuPrice) ?? 0๋ menuPrice๋ฅผ ์ ์๋ก ๋ณํํ๊ณ
๋ณํ์ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฌ์ฉํ๋ค.
๋ณํ์ ์คํจํ๋ค๋ ๋น๋ฌธ์์ด์ด๋ผ๋ ์๋ฏธ๋ก ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๊ฒ ์๋ค๋ ๋ป์ด๋ค.
์ด ๊ธ์ก์ด 0์์ด๋ผ๋ ๋ป์ด๋ค.
tableView๋ฅผ reloadData()๋ฅผ ์คํํด์ฃผ๊ณ viewWillAppear์์ ์คํ์์ผ์ฃผ๋ ์ด์ ,
viewWillAppear ๋ฉ์๋์ updateTotalPriceLabel()๊ณผ tableView.reloadData()๋ฅผ ํธ์ถํ๋ ์ด์ ๋
๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋ ๋๋ง๋ค ์ต์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ํ๊ณ , ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด์์ด๋ค.
viewWillAppear์ ์ญํ
viewWillAppear(_:)๋ ๋ทฐ ์ปจํธ๋กค๋ฌ์ ๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋๊ธฐ ์ง์ ์ ํธ์ถ๋๋ค.
์ด ๋ฉ์๋๋ ๋ทฐ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ด๊ธฐ ์ ์ ํ์ํ ์ค๋น ์์ ์ ์ํํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๋ค.
updateTotalPriceLabel()
์ด ๊ฐ๊ฒฉ์ ๊ณ์ฐํ๊ณ ์ด๋ฅผ ๋ ์ด๋ธ์ ํ์ํ๋ ์ญํ ์ ํ๋ค.
๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋ ๋๋ง๋ค ์ด ๊ฐ๊ฒฉ์ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ํธ์ถ๋๋ค.
์ฌ์ฉ์๊ฐ ์ฅ๋ฐ๊ตฌ๋์ ํญ๋ชฉ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ํ, ํ๋ฉด์ ๋์์ฌ ๋๋ง๋ค ์ต์ ์ด ๊ฐ๊ฒฉ์ด ๋ฐ์๋๋๋ก ํ๋ค.
tableView.reloadData()
์ต์ ์ด ๊ฐ๊ฒฉ์ด ๋ฐ์๋ ํ ํ ์ด๋ธ ๋ทฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋ก๋ํ์ฌ ํ๋ฉด์ ํ์ํ๋ค.
ํ๋ฉด์ด ๋ํ๋ ๋๋ง๋ค ํ ์ด๋ธ ๋ทฐ์ ๋ฐ์ดํฐ๊ฐ ์ต์ ์ํ๋ก ์ ๋ฐ์ดํธ๋๋๋ก ํ๋ค.
์ด ๊ณผ์ ์ด ์์ด์ผ ๋ณ๊ฒฝ๋ ๊ฐ์ด ์ ์ฉ์ด ๋๋ ๊ฒ!!!!!!!!!
๊ทธ๋ ๋ค๋ฉด deleteAll ํจ์์์ ๋ฆฌ๋ก๋ ๊ณผ์ ์ ์์ ํด์ค๋ ๋๋ค.
์์ ํ ์ ์ฒด์ญ์ ํ ๊ธ์ก์ด 0์์ด ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ค๋์ ๋๋ ์ ์
์ด๋ฐ์ ์ค๊ณ๋ฅผ ์ํด์ผ ๋ฒ๊ทธ๋ฅผ ์ฐพ์๊ฐ๊ธฐ ์ฌ์ด ๊ฒ ๊ฐ๋ค.
๋ฐ๋ผ์ ๋ค์ ํ๋ก์ ํธ๋ฅผ ํ ๋์๋ ์ด๊ธฐ ์ค๊ณ์ ๋ฌธ์ํ๋ฅผ ์ ๊ฒฝ์จ์ ํด์ผ๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ผ์ดํ์ฌ์ดํด์ ๋ํ ์ดํด๋ ์ค์ํจ์ ๋๊ผ๋ค.
๋ํ ๋ทฐ๊ฐ ์๋ณด์ด๋ฉด ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐ์ด ์๋ ๊ฒ์ด๋ผ๋ MVCํจํด์ ๋ํด์๋ ์๊ฐํด๋ณด๊ฒ ๋๋ ๋ฌธ์ ์๋ค.