โซ๏ธ UIBarbuttonItem์ ๋ง๋ค์๋๋ฐ, ๋ฒํผ์ ๋๋ฅด๋๊น ์๋ฌ๊ฐ ๋๋ค!
โ ๏ธ unrecognized selector sent to class 0x100d75190
์ง์ง์ง์ง ๊ฐ๋จํ tableView๋ฅผ ๋ง๋๋๋ฐ ์ ์ด๋ฐ ์๋ฌ๊ฐ ๋๋ ๊ฒ์ธ๊ฐ!!
์ง๊ธ ์ด๋ฐ ๊ฐ๋จํ ํ ์ด๋ธ๋ทฐ๋ฅผ ๋ง๋ค์๋๋ฐ, ์ฌ๊ธฐ์ ์์ UINavigationBarButton๋ง ํด๋ฆญํ๋ฉด ์ฑ์ด ๊บผ์ง๋ฉด์ ์ ๋ฐ ์๋ฌ๊ฐ ๋๋ค. ๋ฐ๋ก๋ฐ๋ก,,,, ๋ญ๊ฐ selector์์ ์ก์ ์ด ์ ์ ๋ฌ๋์ง ์๋ ๋ฌธ์ ๊ฐ์๋ฐ,, ์ผ๋จ 1์ฐจ์ ์ผ๋ก ๊ตฌ๊ธ๋ง์ ํด๋ดค๋ค.
1. ์คํ ๋ฆฌ๋ณด๋๋ก ๊ฐ๋ฐํ์ ๊ฒฝ์ฐ, ํ๋์ ๋ฒํผ์ ๋ ๊ฐ ์ด์์ด IBAction์ด ์ฐ๊ฒฐ๋์ด์ ๊ทธ๋ ๋ค๊ณ ํ๋ค.
ํ์ง๋ง ๋ ์ฝ๋๋ฒ ์ด์ค๋ก ๊ฐ๋ฐํ๊ณ ์์ผ๋ ์ด ํด๊ฒฐ๋ฐฉ๋ฒ์ ํตํ์ง ์์ง!
์๋ฌด๋ฆฌ๊ทธ๋๋ ๊ฐ์ ์๋ฐ๋ฐ ๊ฐ์ ์์ธ์ด์ง ์์๊น?
2. โ ์์ธ์ button์ ํ๊ฒ์ ์๋ชป์ค์ ํ๋ค!
์ก์ ์ ์ ๋๋ก ์ ๋ฌํ์ง ๋ชปํ๋ค๋ ๋๋์ด ๋ค์๊ธด ํ๋ค. ๊ทผ๋ฐ,, ์ฐพ์๋ด๋ ๋์ค์ง ์์๋๋ฐ ๋ด๊ฐ UIBarbutton์์ target์ ์ค์ ํ ๋ ์๋ชปํ๋๋ผ๊ณ ,,, ๊ทผ๋ฐ ์ ์๋ชป๋๋์ง ์ด์ ๋ฅผ ์ฐพ๊ธฐ๊ฐ ํ๋ค๋ค. ์์ง? ๋ฌด์จ์๋ฏธ์ง?!
์ผ๋จ ์๋ฌ๊ฐ ๋ฌ๋ ์ด์ ๋ target ๋ถ๋ถ์ viewcontroller.self๋ก ์ค์ ํด์ฃผ์๊ธฐ ๋๋ฌธ์ด์๋ค.
private lazy var resetButton = UIBarButtonItem(title: "Reset",
style: .plain,
target: ViewController.self,
action: #selector(resetData))
private lazy var addButton = UIBarButtonItem(image: UIImage(systemName: "plus.circle"),
style: .plain,
target: ViewController.self,
action: #selector(addData))
์ฌ๊ธฐ์ ViewController๋ฅผ ์ง์ฐ๊ณ , self๋ง ์ฐ๋ฉด ์๋ฌ๊ฐ ๋ฌด์ฌํ ํด๊ฒฐ๋์๋ค.
์ ๊ทธ๋ผ, target์ ๋ค์ด๊ฐ๋ self๋ ๋ญ๊น..? ์ ๋ทฐ์ปจํธ๋กค๋ฌ ๊ทธ ์์ฒด๋ฅผ ๊ฐ๋ฅดํค๋ฉด ์๋๋ ๊ฑธ๊น?
โซ๏ธ UIBarButtonItem
์ฐ์ ๋ด๊ฐ ๋ฒํผ์ ์ค UIBarButtonItem ๋์ ๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด์.
https://developer.apple.com/documentation/uikit/uibarbuttonitem/1617163-init
์ผ๋จ UIBarButtonItem์ ์ด๋ ๊ฒ ์๊ฒผ๋ค.
๋ด๊ฐ ๊ถ๊ธํดํ๋ target์ Anyํ์ ์ ๋ฐ๋๋ค. ๊ทธ๋๊น ์ด๊ฒ ๋ชจ๋๊ตฌ!
ํ๊ฒ์ ์ก์
๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฐ์ฒด๋ผ๊ณ ํ๋ค. ๊ทผ๋ฐ.. ์ ์๋ฟ์ง ์๋๋ค.
๊ทธ๋ฅ ์ด๊ฒ์ ๊ฒ ๋ฃ์ด๋ณด๋๊น, ์ง๊ธ ์ ๋ฌํ๋ ค๊ณ ํ๋ ์ก์
์ ๋ฐ๋ ๊ฐ์ฒด๊ฐ ๋ฌด์์ด๋! ๊ทธ ํ๊ฒ์ด ๋ฐ๋ก๋๋ค~ ๋ผ๊ณ ์ ์ธํด์ฃผ๋ ๊ฒ ๊ฐ์๋ค.
์ด๋ฐ,, ๊ธฐ์ด ๊ฐ๋ ์ ๋ํด์ ์ค๋ช ํด์ค ๋ฌด์ธ๊ฐ๊ฐ ํ์ํ๋ค๊ณ ๋๋ผ๋ ์์ฆ์ด๋ค... ํ๋ํ๋ ๋๋ฌด ๊ถ๊ธํ๊ฒ ๋ง์๋ฐ, ๋ง์ ์๋ฃ๋ฅผ ์ฐพ์ผ๋ ค๊ณ ๋ณด๋๊น ๋ด๊ฐ ์ํ๋ ์ค๋ช ์ด ๋ฑ ๋ด๊ธด ๊ฒ๋ค์ด ์๋ค. ๋ด๊ฐ ๊ทธ๋ฐ ๋ ํผ๋ฐ์ค๋ฅผ ๋ง๋ค์ด๋๊ฐ์ผ์ง,,, ํ ..