์ „์ฒด ๊ธ€

ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ/iOS

์•ฑ์ด ์งฑ์ปค์„œ ์—…๋ฐ์ดํŠธ ํ• ๊ฑฐ ๋ฐฑ๋งŒ๊ฐœ!

๊ณ ๋ฏผ๊ณ ๋ฏผ ... ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” ์งฑํฌ๋‹ค .. ์งฑํฌ๋‹ˆ๊นŒ ๋ญ๊ฐ€ ์งฑ๋งŽ๋‹ค..๐Ÿ˜ซ ์ข‹์•„์š”๊ธฐ๋Šฅ, ์ €์žฅ๊ธฐ๋Šฅ, ํŒ”๋กœ์ž‰๊ธฐ๋Šฅ, ๊ฒŒ์‹œ๋ฌผ ์˜ฌ๋ฆฌ๊ธฐ, ์ˆ˜์ •ํ•˜๊ธฐ … ์ด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ํ•„์ˆ˜์ ์œผ๋กœ update ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ ์ €๊ฐ€ ์ข‹์•„์š”๋ฅผ ๋ˆŒ๋ €์„๋•Œ ์œ ์ €๊ฐ€ ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅธ ๊ฒŒ์‹œ๋ฌผ ๋ฆฌ์ŠคํŠธ์— ๋ฐฉ๊ธˆ ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅธ ๊ฒŒ์‹œ๋ฌผ๋„ ์—…๋ฐ์ดํŠธ (append) ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์œ ์ €์ •๋ณด์—์„œ ์ข‹์•„์š” ์—…๋ฐ์ดํŠธ, ์ €์žฅ ์—…๋ฐ์ดํŠธ ๊ฐ๊ฐ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์•ผํ• ๊นŒ? ์•ฝ๊ฐ„ updateUserLikeMagazine , updateUserBookmarkedMagazine … ์ด๋ ‡๊ฒŒ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋‚ด๊ฐ€ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ์„๋•Œ ํŒ€์›๋“ค์ด ์‰ฝ๊ฒŒ ๋ทฐ๋‹จ์—์„œ ์•Œ์ž˜๋”ฑ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•ด๋ณด์•˜๋‹ค. ๐Ÿค” ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฐฉ์‹์€ ์ด๋Ÿฌํ•˜๋‹ค. var likedMagaz..

ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ/ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

task(id: ) ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?

๋ฌธ์ œ ์ƒํ™ฉ ํŒ”๋กœ์šฐ ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ• ๋•Œ์˜€๋‹ค. ์ €๋ฒˆ๊ณผ ๊ฐ™์€ ๊ตฌ๋…ํ•˜๊ธฐ๊ฐ€ ๋ฐ˜์˜์ด ์•ˆ๋˜๋Š” ์ด์Šˆ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ƒํ™ฉ์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค..! ์ €๋ฒˆ ์ด์Šˆ์˜ ์›์ธ์€ onAppear์™€ onDisappear์˜ ์ž˜๋ชป๋œ ํ˜ธ์ถœ ์ˆœ์„œ๋กœ ๊ตฌ๋…ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„๋•Œ, ๋ทฐ๋ฅผ ๋‚˜๊ฐ”๋‹ค ๋“ค์–ด์˜ค๋ฉด ๋ฐ˜์˜์ด ๋˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ์ด์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ๋น„์Šทํ•œ ์ƒํ™ฉ์ด์ง€๋งŒ ์กฐ๊ธˆ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์˜€๋‹ค. ์ด๋ฒˆ ์ด์Šˆ์˜ ์›์ธ์€ ForEach ์˜€๋‹ค. ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ ,, ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•œ๋ฒˆ ๋ณด๋ฉด // 1๋ฒˆ ์ฝ”๋“œ ForEach(0..

ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ/ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

onAppear์™€ onDisappear์˜ ํ˜ธ์ถœ ํƒ€์ด๋ฐ

๋ฌธ์ œ์ƒํ™ฉ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋˜ ์™€์ค‘ ํŒ”๋กœ์šฐ ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ์„ ๋„ฃ๋Š” ๊ณผ์ •์—์„œ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค ๐Ÿšจ ์–ด๋–ค ์ด์Šˆ๋ƒ๋ฉด!!?? ์„ค๋ช…์—์„œ ๋ฉ”๊ฑฐ์ง„๋””ํ…Œ์ผ๋ทฐ๋ฅผ “1๋ฒˆ ๋ทฐ”, ์œ ์ €ํ”„๋กœํ•„๋ทฐ๋ฅผ “2๋ฒˆ ๋ทฐ”๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ๋ทฐ → 2๋ฒˆ๋ทฐ๋กœ ๊ฐ€๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ทฐ ๊ณ„์ธต์—์„œ 1๋ฒˆ๋ทฐ์—์„œ 2๋ฒˆ๋ทฐ๋กœ ๋“ค์–ด๊ฐ€ ๊ตฌ๋…ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธํ›„์— ๋’ค๋กœ๊ฐ”๋‹ค๊ฐ€ ๋‹ค์‹œ 2๋ฒˆ๋ทฐ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋‚ด๊ฐ€ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋…ํ–ˆ๊ณ , ๊ทธ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹œ์ผœ์ค˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— “๊ตฌ๋…์ค‘” ๋ฒ„ํŠผ์ด ๋‚˜์™€์•ผํ•˜๊ณ , ๊ตฌ๋…์ž์—๋Š” 1๋ช…์ด ๋– ์žˆ์–ด์•ผํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ..! ๊ทผ๋ฐ ๋ฌธ์ œ๋Š” 2๋ฒˆ๋ทฐ์—์„œ ์—…๋ฐ์ดํŠธํ›„์— 1๋ฒˆ๋ทฐ๋กœ ๋’ค๋กœ๊ฐ€๊ธฐ ํ›„ ๋‹ค์‹œ 2๋ฒˆ๋ทฐ๋กœ ๋“ค์–ด๊ฐ”์„๋•Œ ๋ฐ˜์˜์ด ์•ˆ๋˜๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค…! ์ผ๋‹จ ๊ตฌ๋…ํ•˜๊ธฐ ๋กœ์ง์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ž๋ฉด, ๊ตฌ๋…ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. ๊ตฌ๋…์„ ๋ˆ„๋ฅด๊ณ , 2๋ฒˆ๋ทฐ์—์„œ 1๋ฒˆ๋ทฐ๋กœ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ๋•Œ, o..

ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ/ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

PassthroughSubject์™€ onReceive ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‚˜์ด์Šคํ•œ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌํ•˜๊ธฐ

๋ฌธ์ œ ์ƒํ™ฉ Combine ์œผ๋กœ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•จ. ๋น„๋™๊ธฐ ์ฝ”๋“œ๋กœ ๋ทฐ๋ชจ๋ธ์— ์žˆ๋Š” ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํ›„ ๊ทธ ๋ฐฐ์—ด์„ ์ถœ๋ ฅ์„ ํ•ด๋ณด๋‹ˆ ๋นˆ๋ฐฐ์—ด์ด ์ถœ๋ ฅ๋˜๋Š” ์ƒํ™ฉ ํ™ˆ๋ทฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…์„ ํ•˜๋ฉด์„œ onAppear ๋‚ด์—์„œ communityVM.fetchCommunity ๋ผ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œ๋ฌผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  communityVM.communities (๊ฐ€์ ธ์˜จ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œ๋ฌผ๋“ค) ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด๋‹ˆ .onAppear { print("onAppear ์‹œ์ž‘") communityVM.fetchCommunity() print(communityVM.communities) // [] ์ถœ๋ ฅ } ๊ฒฐ๊ณผ๋Š” ? “ [ ] “ ๋นˆ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ–ˆ๋‹ค. ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋„˜๋‚˜ ๋‹น์—ฐํ•œ ๊ฒฐ๊ณผ์˜€๋‹ค. ^^ ์›์ธ fu..

ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ/iOS

Router๊ฐ€ ๋ญํ•˜๋Š” ์นœ๊ตฌ์•ผ?

Router ๊ฐ€ ๋ญํ•˜๋Š” ์นœ๊ตฌ? ์ด๋ฒˆ์—๋Š” Router ๊ฐ€ ๋ญํ•˜๋Š” ์นœ๊ตฌ์ธ์ง€ ์•Œ์•„๋ณด๊ฒŒ์’€์š” ๐Ÿ˜™ ์ด Router ๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์˜ ์•ค๋“œํฌ์ธํŠธ, ๋ฉ”์„œ๋“œ, ํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ์„ ์ •์˜ํ•ด์„œ URLRequest ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์™œ URLRequest ๊ฐ€ ํ•„์š”ํ• ๊นŒ์š” ? ์šฐ๋ฆฌ๊ฐ€ ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ , ์šฐ๋ฆฌ๊ฐ€ ์ง€๋‚œ๋ฒˆ์— ์‚ฌ์šฉํ•œ .dataTaskPublisher(for: request) ์— ํ•„์š”ํ•œ url ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ์ ํŠธ์—์„œ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ๋“ค์ด ์žˆ์„ํ…๋ฐ, user ์™€ ๊ด€๋ จ๋œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ๋งŒ ๋ด๋„ ์œ ์ €์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ, ํ˜„์žฌ ๋กœ๊ทธ์ธ๋œ ์œ ์ €์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ, ์ตœ์ดˆ ๋กœ๊ทธ์ธ์‹œ ํšŒ์›๊ฐ€์ž…ํ•œ ์œ ์ € ์ •๋ณด ์ €์žฅํ•˜๊ธฐ, ์œ ์ €์ •๋ณด ๋ณ€๊ฒฝํ•˜๊ธฐ ๋“ฑ… ์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•œ ์š”์ฒญ๋“ค์ด ์žˆ์„๊ฒ๋‹ˆ๋‹ค.! ์ด ๋ชจ๋“  ์š”์ฒญ..

WonderPark
wonder's ๊ฐœ๋ฐœ ๋กœ๊ทธ ๐ŸŽ