Delegate ํจํด์ผ๋ก ์ด์ ํ๋ฉด์ ๊ฐ ์ ๋ฌํ๊ธฐ
์ด์ ํ๋ฉด์ผ๋ก ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. ๊ทธ ์ค ๋ธ๋ฆฌ๊ฒ์ดํธ ํจํด์ ์ฌ์ฉํ์ฌ ์ด์ ํ๋ฉด์ผ๋ก ๊ฐ์ ๋๊ธฐ๋ ๋ถ๋ถ์ ๊ณต๋ถํ๋ค.
์ต๋ํ ๊ฐ๋จํ๊ฒ ์์ ๋ฅผ ๋ง๋ค์ด๋ณด์๋ค. ๋ฐ์ดํฐ ์ ๋ฌ ์ด์ธ์ ๋ถ๋ถ์ ์ค๋ช
์๋ต...
๋์ํ๋ฉด
File ๊ตฌ์ฑ
- BeforeVC.swift
- AfterVC.swift
- ProtocolDelegate
์ด๋ ๊ฒ ๋๊ฐ์ Scene๊ณผ VeiwController ๋ฅผ ๋ง๋ค์ด์ค๋ค.
Button, Textfiled, Label๋ฑ์ ๊ตฌ์ฑํด์ฃผ๊ณ , IBOultet์ ์ฐ๊ฒฐํด์ค๋ค.
1. ํ๋กํ ์ฝ ์ ์ํ๊ธฐ
์๋ก์ด ํ์ผ์ ํ๋ ๋ง๋ค์ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋กํ ์ฝ์ ์ ์ํ๋๋ฐ, ํ๋กํ ์ฝ์ ๋ฉ์๋์ ํ๋กํ ํ์
๋ง ์ ๊ณ ๋ด๋ถ ๋์์ฝ๋๋ ์ ์ง ์๋๋ค.
DelegateProtocol.swift
2. AfterVC์์ ํ๋กํ ์ฝ ํ์
์ ๋ณ์ ๋ง๋ค์ด์ฃผ๊ธฐ
AfterVC.swift
3. BeforeVC์์ ํ๋กํ ์ฝ ์ฑํํ๊ณ ๋ฉ์๋ ๊ตฌํํ๊ธฐ
BeforeVC.swift
2 ์์ AfterVC์ delegate๋ผ๋ ๋ณ์๋ฅผ ์์ฑํ๊ณ ํ๋กํ ์ฝ์ ํ์
์ผ๋ก ์ ์ธํ๋ค. ๊ทธ ๋ณ์๋ฅผ ํตํด์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ์ง์ ํ๊ฒ ๋๋ค.AfterVC.deleaget = self
์ฆ, AfterVC์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ BeforeVC(self)๊ฐ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋กํ ์ฝ์ ์ ์ํ ๋ ํจ์๋ฅผ ๊ตฌํํ์ง ์์๊ธฐ๋๋ฌธ์ ์ฌ๊ธฐ์ ๊ตฌํํด์ฃผ๋ฉด ๋๋ค.
์์ค์ฝ๋
https://github.com/Youjunyong/ios_practice.git
GitHub - Youjunyong/ios_practice
Contribute to Youjunyong/ios_practice development by creating an account on GitHub.
github.com
#2๋ฒ ํด๋์ ํ๋ก์ ํธ์ ์ฝ๋๊ฐ ์๋ค.
์ฌ์ฉ์์๊ฒ ์
๋ ฅ๊ฐ์ ๋ฐ์, dismiss
ํ๋ฉด ์ด์ View์์ ๊ทธ ๊ฐ์ ๋์์ค๋ค
์ฐ์ต ๋ชฉ์
- Delegateํจํด์ ํตํ์ฌ ์ด์ ํ๋ฉด์ผ๋ก ๊ฐ ์ ๋ฌ ํ๊ธฐ.
- Protocol ์ ์ง์ ์์ฑํ๊ณ , ์ด์ ViewController๋ฅผ ๋ค์ ViewController์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ก ์ง์ ํ๋ ์ฐ์ต.