Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

์ธํ„ฐํŽ˜์ด์Šค SubscriptionSet

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • io.realm.mongodb.sync
  • ์ค‘์ฒฉ๋œ ํด๋ž˜์Šค ์š”์•ฝ
  • ๋ฉ”์„œ๋“œ ์š”์•ฝ
  • ์ƒ์†๋œ ๋ฉ”์„œ๋“œ
  • ๋ฉ”์„œ๋“œ ์„ธ๋ถ€ ์ •๋ณด
  • ์ฐพ๊ธฐ
  • getErrorMessage
  • getState
  • size
  • update
  • updateAsync
  • waitForSynchronization
  • waitForSynchronizationAsync

๊ตฌํ˜„๋œ ์ธํ„ฐํŽ˜์ด์Šค:

  • java.lang.Iterable

๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๋Š” Flexible ๋™๊ธฐํ™” ๋ฅผ ์œ„ํ•ด ๊ตฌ์„ฑ๋œ ํŠน์ • Realm ์— ๋Œ€ํ•œ ๋ชจ๋“  ํ˜„์žฌ ๊ตฌ๋… ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณด๊ธฐ์ž…๋‹ˆ๋‹ค.

Flexible Sync๋Š” RealmQuery ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜์™€ ๋™๊ธฐํ™”๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ์™€ ์ฟผ๋ฆฌ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋Š” ๊ตฌ๋… ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ตฌ๋… ์„ธํŠธ๋Š” ์žฅ์น˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจํ•˜์ง€ ์•Š์€ ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” ๋“ฑ ๊ตฌ๋… ์„ธํŠธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ „์ฒด ๊ตฌ๋… ์„ธํŠธ๊ฐ€ SubscriptionSet.State.ERROR ์ƒํƒœ๊ฐ€ ๋˜๋ฉฐ ์˜ค๋ฅ˜๊ฐ€ ์ˆ˜์ •๋  ๋•Œ๊นŒ์ง€ ๋™๊ธฐํ™”๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ตฌ๋…์ด ์ œ๊ฑฐ๋˜๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋„ ์ œ๊ฑฐ๋˜์ง€๋งŒ ์žฅ์น˜์—์„œ๋งŒ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ์‚ญ์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜คํ”„๋ผ์ธ ์ƒํƒœ์—์„œ๋„ ๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ getState() ๊ฐ€ SubscriptionSet.State.COMPLETE ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ์„œ๋ฒ„ ์—์„œ ์ˆ˜์ •์„ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

waitForSynchronization() ๋ฐ ๊ทธ ๋ณ€ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๋ฅผ ์„œ๋ฒ„ ์™€ ๋™๊ธฐํ™”ํ•˜๋„๋ก ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •์ž ๋ฐ ์œ ํ˜•
ํด๋ž˜์Šค ๋ฐ ์„ค๋ช…
public static final
public static interface
public static interface
public static interface
์ˆ˜์ •์ž ๋ฐ ์œ ํ˜•
๋ฉ”์„œ๋“œ ๋ฐ ์„ค๋ช…
๊ณต๊ฐœ ๊ตฌ๋…
String name
)

์ง€์ •๋œ ์ด๋ฆ„์˜ ๊ตฌ๋…์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๊ตฌ๋…

์ง€์ •๋œ ์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ์ฒซ ๋ฒˆ์งธ ๊ตฌ๋…์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ string

getState() ๊ฐ€ State.ERROR ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์ด ๋ฉ”์„œ๋“œ๋Š” ์ด์œ ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ SubscriptionSet.State

SubscriptionSet์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

public int
size ()

ํ˜„์žฌ ์ด ๊ตฌ๋… ์„ธํŠธ์— ์žˆ๋Š” ๊ตฌ๋… ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ SubscriptionSet

๊ตฌ๋… ์„ธํŠธ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๋ถ€์šธ

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๋ถ€์šธ

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

String name
)

์ง€์ •๋œ ์ด๋ฆ„์˜ ๊ตฌ๋…์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • name - ๊ฒ€์ƒ‰ํ•  ๊ตฌ๋…์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

์ผ์น˜ํ•˜๋Š” ๊ตฌ๋… ๋˜๋Š” ํ•ด๋‹น ์ด๋ฆ„์˜ ๊ตฌ๋…์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ null

์ง€์ •๋œ ์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ์ฒซ ๋ฒˆ์งธ ๊ตฌ๋…์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ช…๋œ ๊ตฌ๋…์— ๋™์ผํ•œ ์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • query - ๊ฒ€์ƒ‰ํ•  ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ์ฒซ ๋ฒˆ์งธ ๊ตฌ๋…์ด๊ฑฐ๋‚˜ ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†๋Š” ๊ฒฝ์šฐ null ์ž…๋‹ˆ๋‹ค.

getState() ๊ฐ€ State.ERROR ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์ด ๋ฉ”์„œ๋“œ๋Š” ์ด์œ ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ๊ตฌ๋…์„ ์ˆ˜์ •ํ•œ ๋‹ค์Œ waitForSynchronization() ์„ ํ˜ธ์ถœํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๊ฐ€ State.ERROR ์ƒํƒœ ์ธ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ์ƒํƒœ์˜ ๊ฒฝ์šฐ null ๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

SubscriptionSet์˜ ํ˜„์žฌ ์ƒํƒœ ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ƒํƒœ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ SubscriptionSet.State ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฐ˜ํ™˜

SubscriptionSet์˜ ํ˜„์žฌ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

public int size ()

ํ˜„์žฌ ์ด ๊ตฌ๋… ์„ธํŠธ์— ์žˆ๋Š” ๊ตฌ๋… ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

๊ตฌ๋… ์„ธํŠธ์˜ ๊ตฌ๋… ์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ์ค‘์— ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์ด ๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์ˆ˜์ •๋œ ์ƒํƒœ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • action - ๊ตฌ๋… ์„ธํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ํ˜ธ์ถœ์ž ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

์ด์ œ ์—…๋ฐ์ดํŠธ๋œ ์ด ๊ตฌ๋… ์„ธํŠธ์ž…๋‹ˆ๋‹ค.

์Šค๋กœ์šฐ

  • ์˜ˆ์™ธ - ์—…๋ฐ์ดํŠธ ์ค‘์— ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๋Š” ๋‹ค์‹œ ์ „ํŒŒ๋ฉ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ์ค‘์— ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. *

๋งค๊ฐœ๋ณ€์ˆ˜

  • callback - ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์ œ์–ดํ•˜๋Š” ์ฝœ๋ฐฑ์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ๊ฐ€ ์—ฌ๊ธฐ์— ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

๋น„๋™๊ธฐ ์‹คํ–‰์„ ์ œ์–ดํ•˜๋Š” ์ž‘์—….

public boolean waitForSynchronization (
Long timeOut,
)

๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๊ฐ€ ์„œ๋ฒ„ ์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ฐ€ ์ฟผ๋ฆฌ ์„ค์ •ํ•˜๋‹ค ๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ ค๋ฉด Realm.refresh() ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋ฆฌ์Šค๋„ˆ๊ฐ€ trigger ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ getErrorMessage() ๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ์ด์œ ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • timeOut - ๋™๊ธฐํ™”๊ฐ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

  • unit - ์ œํ•œ ์‹œ๊ฐ„์— ์‚ฌ์šฉ๋˜๋Š” ์‹œ๊ฐ„ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

true ์„œ๋ฒ„์—์„œ ํ˜„์žฌ์˜ ๋ชจ๋“  ๊ตฌ๋…์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๊ฒฝ์šฐ์—๋Š” false ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์Šค๋กœ์šฐ

  • RuntimeException - ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ์ดˆ๊ณผ๋œ ๊ฒฝ์šฐ.

public boolean waitForSynchronization ()

๊ตฌ๋… ์„ค์ •ํ•˜๋‹ค ๊ฐ€ ์„œ๋ฒ„ ์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ฐ€ ์ฟผ๋ฆฌ ์„ค์ •ํ•˜๋‹ค ๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ ค๋ฉด Realm.refresh() ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋ฆฌ์Šค๋„ˆ๊ฐ€ trigger ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ getErrorMessage() ๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ์ด์œ ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

true ์„œ๋ฒ„์—์„œ ํ˜„์žฌ์˜ ๋ชจ๋“  ๊ตฌ๋…์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๊ฒฝ์šฐ์—๋Š” false ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์ฝœ๋ฐฑ์€ ์„œ๋ฒ„๊ฐ€ ์ฟผ๋ฆฌ ์„ธํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ ค๋ฉด Realm.refresh() ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋ฆฌ์Šค๋„ˆ๊ฐ€ trigger ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ getErrorMessage() ๋ฅผ ํ†ตํ•ด ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • timeOut - ๋™๊ธฐํ™”๊ฐ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

  • unit - ์ œํ•œ ์‹œ๊ฐ„์— ์‚ฌ์šฉ๋˜๋Š” ์‹œ๊ฐ„ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

  • callback - ๋™๊ธฐํ™”๊ฐ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ๋•Œ triggerํ•˜๋Š” ์ฝœ๋ฐฑ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” UI ์Šค๋ ˆ๋“œ์—์„œ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

true ์„œ๋ฒ„์—์„œ ํ˜„์žฌ์˜ ๋ชจ๋“  ๊ตฌ๋…์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๊ฒฝ์šฐ์—๋Š” false ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋… ์„ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ฟผ๋ฆฌ ์„ธํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ ค๋ฉด Realm.refresh() ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋ฆฌ์Šค๋„ˆ๊ฐ€ trigger ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ getErrorMessage() ๋ฅผ ํ†ตํ•ด ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • callback - ๋™๊ธฐํ™”๊ฐ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ๋•Œ triggerํ•˜๋Š” ์ฝœ๋ฐฑ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” UI ์Šค๋ ˆ๋“œ์—์„œ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜

true ์„œ๋ฒ„์—์„œ ํ˜„์žฌ์˜ ๋ชจ๋“  ๊ตฌ๋…์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๊ฒฝ์šฐ์—๋Š” false ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋Œ์•„๊ฐ€๊ธฐ

์„œ๋ธŒ์Šคํฌ๋ฆฝ์…˜