NotificationQueue ํด๋์ค
14 Oct 2018 | iOS NotificationQueue NotificationCenter๋ ธํฐํผ์ผ์ด์ ์ด ์๋ฆฌ์ผํ์์ ์ฒ๋ฆฌ๊ฐ๋๋๊ฑด๊ฐ!?๋ผ๋ ๊ถ๊ธ์ฆ์ ์ฐพ์๋ณธ ํ ๊ฐ๋จํ ์ ๋ฆฌ
class NotificationQueue : NSObject
- Notification๋ค์ NotificationQueue์ ์์นํจ (FIFO)
- NotificationCenter์ ์ํด ํฌ์คํ ๋๋ notification๋ค์ ๋๊ธฐ์ ์ผ๋ก ์ ๋ฌ๋๋ค.
- ์ฆ, ์์ (ํ์ฌ์)๋ ธํฐ๊ฐ run loop์ ๋น ์ ธ๋๊ฐ๊ฑฐ๋ run loop์ด ํ๊ฐํด์ง๊ธฐ์ ๊น์ง ๋๋ ์ด ๋ ์ ์๋ค.
- ์ค๋ณต๋๋ ๋ ธํฐ๋ค์ ์ฌ๋ฌ ๋ ธํฐ๊ฐ ํฌ์คํ ๋๋๋ผ๋ ํฉ์ณ์ง ์ ์๋ค. (ํ๋์ ๋ ธํฐ๋ง ๋ณด๋ด๊ธฐ ์ํด)
- ๋ชจ๋ ์ค๋ ๋๋ ๊ธฐ๋ณธ ๋
ธํฐํผ์ผ์ด์
ํ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ทธ๊ฒ์ default notification center(
NotificationCenter.default
)์ ์ฐ๊ด๋์ด์๋ค. - ์ปค์คํ ๋ ธํฐํผ์ผ์ด์ ํ๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ผํฐ์ ์ค๋ ๋๋ง๋ค ์ฌ๋ฌ ํ๋ฅผ ๊ฐ์ง ์ ์๋ค.
- ๋ ธํฐํผ์ผ์ด์ ์ด ๋๊ธฐ์ ์ผ๋ก ๋์ํ๋ค๋๊ฒ์ ์ฑ์ด ๋ฐ์ ์ํ์ด๊ฑฐ๋ ์ฌ๋ฌ ๋ ธํฐ๋ค ๋ฐ๋ณต๋ ๋ ์ฑ์ ๋๋ฆฌ๊ฒ ๋ง๋ค๊ฑฐ๋ ๋ฉ์ถ๊ฒ ๋ง๋ค ์ ์๋ ๋ฌธ์ ์ ์์ง๊ฐ ์๋ค.
- ์ด๋ NotificationQueue๋ง๋ค์ด์ ์ฌ์ฉํ๋ฉด ๋น๋๊ธฐ์ ์ผ๋ก ๋์์ํฌ ์ ์๊ณ , ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ํํ ์ ์๋ค.
- ์์
let notification = Notification(name: Notification.Name("MyValueChanged")) NotificationQueue.default.enqueue(notification, postingStyle: .whenIdle, coalesceMask: .none, forModes: nil)
Comments