Objectmapper: ์ผ๋ฐ˜ ๋ฐฐ์—ด ์œ ํ˜•

์— ๋งŒ๋“  2017๋…„ 01์›” 05์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tristanhimmelman/ObjectMapper

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. T๋Š” Array<User> ์ด๊ณ , User๋Š” Mappable ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ objectMapper๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์€ํ˜œ๋ฅผ ๋ฒ ํ’€์–ด ์ฃผ์‹ญ์‹œ์˜ค
responseModel = Mapper<ResponseModel<T>>().map(JSON: value as! [String: Any])

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” ์ €๋Š” ์ง€๊ธˆ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋Š” Swift 4์ž…๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์ƒ์šฉ๊ตฌ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋” ์งง์€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  4 ๋Œ“๊ธ€

์˜ˆ, ์™„์ „ํžˆ ๋ถˆํŽธํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋งคํ•‘ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์˜ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋งคํ•‘ํ•˜๋ ค๋ฉด ๋ช…์‹œ์ ์œผ๋กœ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๋งคํ•‘ ๊ฐ€๋Šฅํ•œ ๋ฐฐ์—ด ์ž์ฒด๊ฐ€ ๋งคํ•‘ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ๋ถˆํŽธํ•จ์€ swift 4์—์„œ ํ•ด๊ฒฐ๋˜๋ฆฌ๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋‹น์‹ ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•œ๋‹ค๋ฉด - ๋‹น์‹ ์€ ๋ชจ๋“  ์‘๋‹ต์— ๋Œ€ํ•œ ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ T๋Š” ์ผ๋ฐ˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ResponseModel<T> ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ฒฐ๊ณผ๋ฅผ [T]๋กœ ์ •์˜ํ•˜๋Š” ResponseArray<T> ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ResponseModel ๋˜๋Š” ResponseArray๋งŒ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@KoCMoHaBTa ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์ €๋Š” ์ง€๊ธˆ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋Š” Swift 4์ž…๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์ƒ์šฉ๊ตฌ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋” ์งง์€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰