1๋ฒˆ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  2๋ฒˆ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•

 

1๋ฒˆ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ์†ก์‹ ๋ถ€(post)๋ฅผ ์ถ”๊ฐ€ ํ•ด์•ผ ํ•˜๋Š”๋ฐ

NotificationCenter.default.post(name: NSNotification.Name(rawValue: "reloadTableView"), object: nil)

(์œ„ ๋…น์ƒ‰ ๋ถ€๋ถ„์— ๋ณด๋‚ด๊ณ ์žํ•˜๋Š” ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ˆ˜์‹ ๋ถ€์˜ ํ•จ์ˆ˜๋ช…์„ ์ ์–ด์ค€๋‹ค.)

 

2๋ฒˆ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ์ˆ˜์‹ ๋ถ€(addObserver)๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ์˜ค๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ”„๋ฆฐํŠธ๋„ ๋‹ฌ์•„๋ณด์ž.

        NotificationCenter.default.addObserver(self, selector: #selector(reloadTableView), name: NSNotification.Name(rawValue:"reloadTableView"), object: nil)

    }

    @objc func reloadTableView() {

        print("์•Œ๋ฆผ์ด ์˜ด") // ๋ฐ์ดํ„ฐ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋„˜์–ด์˜ค๋ฉด ์ฐ๋Š” ํ”„๋ฆฐํŠธ

        tableView.reloadData() // ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”๋ทฐ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ๋กœ๋“œ

 

์—ฌ๊ธฐ์„œ @objc ๋Š” ์—๋Ÿฌ๊ฐ€ ๋œจ๊ธธ๋ž˜ Fix๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์ž๋™์œผ๋กœ ์ƒ๊ธด ๊ฒƒ์ด๋‹ค.

๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."