swift ๋ฌธ๋ฒ•๐Ÿ–ค

[SWIFT] Resultํƒ€์ž…

eundeang 2023. 6. 6. 12:38

์—๋Ÿฌ์ฒ˜๋ฆฌ๋ฅผ do catch๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•œ resultํƒ€์ž… ๋“ฑ์žฅ - swift 5 ์ดํ›„

 

์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?

  • ์„ฑ๊ณต/์‹คํŒจ์˜ ๊ฒฝ์šฐ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํƒ€์ž…
  • ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์—๋Ÿฌ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ต์…˜์„ ์ œ๊ณต (๊ธฐ์กด์˜ ์—๋Ÿฌ์ฒ˜๋ฆฌ ํŒจํ„ด์„ ์™„์ „ํžˆ ๋Œ€์ฒดํ•˜๋ ค๋Š” ๋ชฉ์  x)

eunm Result<Success, Failure> where Failure : Error

  • Success, Failure์„ ์ œ๋„ค๋ฆญ์œผ๋กœ ์ •์˜ ( ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์„ ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋จ : ๋งŒ์•ฝ <Bool, Error>๋กœ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์„ฑ๊ณตํ–ˆ์„๋•Œ ์—ฐ๊ด€๊ฐ’์œผ๋กœ Bool๊ฐ’์„ ์ „๋‹ฌํ•˜๊ณ , ์‹คํŒจํ–ˆ์„ ๋•Œ๋Š” Error๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ) 
  • case success(Success)
  • case failuare(Failure) 
    • ์ œ๋„ค๋ฆญ์„ ์—ด๊ฑฐํ˜•์—์„œ ์“ฐ๋ ค๋ฉด ์—ฐ๊ด€๊ฐ’ ๋ฐ˜๋“œ์‹œ ํ•„์š”