์๋ ํ์ธ์ Foma ์ ๋๋ค!!
์ด๋ฒ์ ์์๋ณผ ์ฃผ์ ๋ ๋ฐ๋ก Delegate์ Protocol์ ๋๋ค!
Xcode์ Project๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด AppDelegate,SceneDelegate,UITableViewDelegate....๋ฑ ๋ง์ ๋๋ฆฌ๊ฒ์ดํธ๋ฅผ
๋ณด์ จ์๊ฑฐ์์. ์ ๋ ์ด๊ฒ ์ด๋ค ์ญํ ์ ํ๋์ง ๋์ถฉ์ ์๊ณ ์์๋๋ฐ ๋ง์ ์ค๋ช ์ ํ๋ คํ๋ ๋ง์ด ์๋์ค๋๋ผ๊ตฌ์
๊ทธ๋์ ์์๋ณด๊ฒ ๋์์ต๋๋ค.
๋ฐ๋ก ์์ํด๋ณผ๊ฒ์ฉ~
Protocol
๋จผ์ ๋๋ฆฌ๊ฒ์ดํธ๋ฅผ ์๊ธฐ ์ํด์ Protocol์ ๊ฐ๋ ์ ์๊ณ ์์ด์ผ ํด์.
์ค์ํํธ ๋ฌธ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋์ด ์์ต๋๋ค.
๊ฐ๋จํ๊ฒ ์์๋ก ์ค๋ช ๋๋ฆด๊ฒ์
์ถ๊ตฌ์ ์ 3๋ช ์ด ์๋ค๊ณ ํ ๊ฒ์. ๊ทธ๋ ๋ค๋ฉด ํ๋กํ ์ฝ์ ๊ณต๊ฒฉ์,์๋น์,๊ณจํคํผ๊ฐ ๋ ๊ฑฐ์์
๊ณต๊ฒฉ์๋ ์ํ ,๋๋ฆฌ๋ธ๋ง,์ค์
์๋น์๋ ๋ง๊ธฐ,ํํด,๋์นจ
๊ณจํคํผ๋ ํ์นญ,์งํค๊ธฐ,์ก๊ธฐ ๋ฑ์ ํ ์ ์๋ค๊ณ ์ ์๋ง ๋ด๋ ค์ฃผ๋๊ฒ๋๋ค.
Delegate
๊ทธ๋ ๋ค๋ฉด ์ด์ Delegate๋ ๋ฌด์์ผ๊น์?
Delegate๋ ์ฌ์ ์ ์๋ฏธ๋ก "์์ํ๋ค"๋ผ๋ ๋ป์ ๋๋ค.
์ฌ์ ์ ๋ป ๊ทธ๋๋ก ์ํ๋ class,enum,struct์ ํ๋กํ ์ฝ์ ์ฑํํ์ฌ ์์ํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ ๋ํ ์์๋ก ์์๋ณผ๊ฒ์.
์๊น Protocol์ 3๊ฐ์ง ๋ง๋ค์ด์คฌ์ฃ ? ๊ณต๊ฒฉ์,์๋น์,๊ณจํคํผ
์ด๊ฒ๋ค์ ์ด์ SoccerPlayer1,SoccerPlayer2,SoccerPlayer3๋ผ๋ class์ ์ฑํํ์ฌ ์ฌ์ฉํด์ฃผ๋ฉด ๋ฉ๋๋ค!!
์ SoccerPlayer1์ Striker๋ผ๋ ๊ณต๊ฒฉ์๋ผ๊ณ ์ฑํํด์ ์๊น ์ ์ ๋ด๋ ค์ค ์ํ ,๋๋ฆฌ๋ธ,์ค์๋ฅผ ์์ํด์ค์๋ค.
๋ง์น "๋ ๊ณต๊ฒฉ์๋๊น ์ํ ,๋๋ฆฌ๋ธ,์ค์๋ฅผ ํ ์ ์์ด"๋ผ๊ณ ๋งํด์ฃผ๊ณ ์ฌ๊ธฐ์ ์ด์ ๋ฌด์์ ํ ์ง ๊ตฌํ์ ํ ์ ์๋ ๊ฒ์ด์ฃ !!
SoccePlayer2์ Defender๋ฅผ ์ฑํํด์ฃผ๊ณ ๊ณต๊ฒฉ์์ ๊ฐ์ด ๋ ์๋น์๋๊น ์ ์ ๋ง๊ณ , ํํด์ ๊ฑธ๊ณ , ์ ์ ๋์ณค์ ๋ ๋ฌด์์ธ๊ฐ๋ฅผ
๊ตฌํํด!! ๋ผ๊ณ ํ๋ ๊ฒ์ด์ฃ
๊ณจํคํผ๋ ๋ง์ฐฌ๊ฐ์ง์์. GoalKeeper ํ๋กํ ์ฝ์ ์ฑํํด์ฃผ๊ณ ์ ์๋์ด์๋ ๋ฉ์๋๋ค์ ์์ํ์ฌ ๊ตฌํํ๋ ๊ฒ์ด์ฃ !!
์ด๋ ๊ฒ ์ค๋์ Protocol์ ํตํ์ฌ Delgate๊ฐ ์ด๋ป๊ฒ ๋๋ ๊ฒ์ธ์ง ์ถ๊ตฌ์ ์๋ฅผ ์์๋ก ์์๋ณด์๋๋ฐ์.
์ดํด๊ฐ ์๋์ จ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค์ ใ
ํน์๋ผ๋ ์ ๊ฐ ์๋ชป ์ค๋ช ํ๊ฒ ์๋ค๋ฉด ๋๊ธ ๋ฌ์์ฃผ์ธ์!!
'๐ iOS > iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS ๋ฉด์ ์ง๋ฌธ] Retain Cycle์ด๋?(1) - ๊ฐ๋ (4) | 2020.11.30 |
---|---|
[iOS ๋ฉด์ ์ง๋ฌธ] ARC(Auto Reference Counting)๋? (0) | 2020.11.21 |
[iOS] Swift๋ก Apple๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ (2) | 2020.11.15 |
[iOS ๋ฉด์ ์ง๋ฌธ]์ค์ ๋๋ฐ์ด์ค๊ฐ ์์ ๊ฒฝ์ฐ ํ ์ ์๋ ๊ฒ๊ณผ ์๋ ๊ฒ (3) | 2020.11.13 |
[iOS ๋ฉด์ ์ง๋ฌธ]Bounds์ Frame์ ์ฐจ์ด (0) | 2020.11.09 |
๋๊ธ