KVO
-
[Swift] Key Value Observing (KVO)Swift 2022. 3. 24. 09:32
Key Value Observing (KVO) A ๊ฐ์ฒด์์ B ๊ฐ์ฒด์ ํ๋กํผํฐ๊ฐ ๋ณํ๋จ์ ๊ฐ์งํ ์ ์๋ ํจํด KVO ํจํด์ ๊ฐ์ฒด์ ๊ฐ์ฒด ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ค๋ฃจ๋๋ฐ ์ ํฉํ๋ค. ๋ฉ์๋๋ ๋ค๋ฅธ ์ก์ ์์ ๋ํ๋๋ ๊ฒ์ด ์๋ ํ๋กํผํฐ์ ์ํ์ ๋ฐ์ํ๋ ํํ์ด๋ค. ํ์ ์ ์ ์ธ๋ถ์ ์ต์ ๋ฒ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ ์ธํ๋ฉด, property observer (willSet, didSet)๊ณผ ์ ์ฌํ๋ค. Dynamic Dispatch ํค ํจ์ค (KeyPath = \.) ์ด๋ฆ์ ํตํด ํ๋กํผํฐ์ ์ฃผ์ ์ฐพ๋ ๊ธฐ๋ฅ ํค ํจ์ค๋ ํ๋กํผํฐ๋ ๋ฉ์๋ ๋ฑ์ ํน์ ๋ฌธ์์ด๋ก ํ๊ธฐํ๋ ๊ท์น์ด๋ค. ์ฌ์ฉ๋ฒ 1. ์ ์ธ class Person: NSObject { @objc dynamic var name = "Selina" } 2. observe() ํธ์ถํ์ฌ..
-
[Swift] Delegate, Notification, KVOSwift 2022. 3. 15. 08:50
์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ ํํ ๊ฒฝํํ๋ ๊ณตํต์ ์ธ ๋ฌธ์ ๋ ๊ณผ๋ํ ์ปคํ๋ง ์์ด ์ปจํธ๋กค๋ฌ ๊ฐ์ ์ํต์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. iOS์์ ๋ํ๋ด๋ 3๊ฐ์ง ์ผ๋ฐ์ ์ธ ํจํด์ ๋ค์๊ณผ ๊ฐ๋ค. Delegation Notifications through Notification Center Key Value Observing 3๊ฐ์ง ํจํด์ด ๋์ค๊ฒ ๋ ๋ฐฐ๊ฒฝ ๐ก ํ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ๋ฌถ์ด๊ธฐ (coupled)๋ ์ซ์ง๋ง, ์ํต์ ํ๊ณ ์ถ์ ๋ 3๊ฐ์ง ํจํด์ ๋ชจ๋ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ํ๋ ๊ฐ์ฒด์ ์๋ ค์ฃผ๊ณ ์ฒ๋ฆฌ๋ฅผ ํ๋ค. ์ดํ๋ฆฌ์ผ์ด์ ํน์ฑ ์ ๊ฐ์ฒด ๊ฐ ์ํต์ ํ์์ ์ด์ง๋ง ํ ๊ฐ์ฒด๋ ๊ทธ ์์ฒด๋ก ์กด์ฌํ๋ฉด์ ์ํตํ ๋ฟ, ๋ค๋ฅธ ๊ฐ์ฒด์ ์ข ์๋์ด ๋์ํ๋ ๊ฒ์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๋ ๋ฆฝ๋ ๊ธฐ๋ฅ์์ ์ธก๋ฉด์์ ์ข์ง ์๋ค. ์๋ฅผ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ํ VC๊ฐ ๋ค๋ฅธ VC..