์๋ ํ์ธ์ Foma ์ ๋๋ค!
์ค๋์ ์ํ๋ ์ปจํธ๋กค๋ฌ๋ก ๋๋์๊ฐ๋ ๋ฐฉ๋ฒ์ธ unwind์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค!
๋ฐ๋ก ์์ํ ๊ฒ์~
(๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ์ จ์ ๊ฒฝ์ฐ์๋ง ํด๋น๋ฉ๋๋ค ใ )
์๋ ๊ทธ๋ฆผ์ฒ๋ผ A -> B -> C -> D ๋ก ์ด๋ํ๋ ๋ทฐ์ปจํธ๋กค๋ฌ๋ค์ด ์๋ค๊ณ ๊ฐ์ ํ ๊ฒ์~
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ด๊ฐ ๋ง์ฝ D๊น์ง ์ด๋ํ๊ณ A๋ก ๋์๊ฐ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น์?
AViewController
AViewController์ ์๋์ ๊ฐ์ด ์ง์ IBAction์ ๋ง๋ค์ด์ค๋๋ค.
@IBAction func unwindToAViewController (segue : UIStoryboardSegue) {
}
DViewController
๊ทธ ๋ค์ ์คํ ๋ฆฌ๋ณด๋๋ก ์ด๋ํ์ ์ DViewController์ ์ ๋ถ๋ถ์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์์ด์ฝ์ control๊ณผ ํจ๊ป
3๋ฒ์จฐ ์์ด์ฝ์ธ Exit์ ๋๋๊ทธ ํด์ฃผ๋ฉด ์๋์ ๊ฐ์ด ์์์ ๋ง๋ค์ด์ค IBAction์ด ๋ณด์ผ๊ฑฐ์์.
๊ทธ๋ฆฌ๊ณค DViewController์ ์คํ ๋ฆฌ๋ณด๋๋ก ์ด๋ํด์ ์์์ ๋ง๋ค์ด์ค unwindToAViewController๋ฅผ ํด๋ฆญํด์ค๋๋ค.
(์ ๋ unwindSitterViewController๋ผ๊ณ ์ด๋ฆ ์ง์๋๋ฐ ์ด๊ฒ unwindToAViewController๋ก ์ดํดํด์ฃผ์ธ์!)
๊ทธ๋ผ ์๋์ ๊ฐ์ด Unwind segue๊ฐ ์๊ฒผ์๊ฑฐ์์.
์ฌ๊ธฐ์ identifier๋ฅผ ์ ์ด์ฃผ์ธ์!
๊ทธ ๋ค์ DViewController๋ก ์ด๋ํด์ ์ํ๋ ์์น์ performSegue๋ฅผ ์คํ์์ผ์ฃผ๋ฉด ๋ฉ๋๋ค!
performSegue(withIdentifier: "์ ํด์ค ์์ด๋ดํฐํผ์ด", sender: nil)
์ด๋ ๊ฒ ํ์๋ฉด D์ปจํธ๋กค๋ฌ์์ A์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ๋ ๊ฒ์ ๋ณผ ์ ์์๊ฒ๋๋ค!
์ด๋ ๊ฒ ์ค๋์ unwindํ๋ ๋ฒ์ ๋ํด์ ์์๋ณด์์ต๋๋ค.
ํน์๋ผ๋ ํ๋ฆฐ ์ ์ด ์๊ฑฐ๋ ์ง์ ํ์ค ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์!
๋๊ธ