ํ๋ก์ ํธ ๐ ๏ธ/iOS
๊ณ ๋ฏผ๊ณ ๋ฏผ ... ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ์งฑํฌ๋ค .. ์งฑํฌ๋๊น ๋ญ๊ฐ ์งฑ๋ง๋ค..๐ซ ์ข์์๊ธฐ๋ฅ, ์ ์ฅ๊ธฐ๋ฅ, ํ๋ก์๊ธฐ๋ฅ, ๊ฒ์๋ฌผ ์ฌ๋ฆฌ๊ธฐ, ์์ ํ๊ธฐ … ์ด ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ฉด ํ์์ ์ผ๋ก update ๋ฉ์๋๊ฐ ํ์ํ๋ค. ์๋ฅผ ๋ค์ด, ์ ์ ๊ฐ ์ข์์๋ฅผ ๋๋ ์๋ ์ ์ ๊ฐ ์ข์์๋ฅผ ๋๋ฅธ ๊ฒ์๋ฌผ ๋ฆฌ์คํธ์ ๋ฐฉ๊ธ ์ข์์๋ฅผ ๋๋ฅธ ๊ฒ์๋ฌผ๋ ์
๋ฐ์ดํธ (append) ํด์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ์ ์ ๋ณด์์ ์ข์์ ์
๋ฐ์ดํธ, ์ ์ฅ ์
๋ฐ์ดํธ ๊ฐ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ผํ ๊น? ์ฝ๊ฐ updateUserLikeMagazine , updateUserBookmarkedMagazine … ์ด๋ ๊ฒ ์ด๋ป๊ฒ ํด์ผ ๋ด๊ฐ ๋ฉ์๋๋ฅผ ๋ง๋ค์์๋ ํ์๋ค์ด ์ฝ๊ฒ ๋ทฐ๋จ์์ ์์๋ฑ ์ฌ์ฉํ ์ ์์์ง ๊ณ ๋ฏผํด๋ณด์๋ค. ๐ค ๋ด๊ฐ ์๊ฐํ ๋ฐฉ์์ ์ด๋ฌํ๋ค. var likedMagaz..
ํ๋ก์ ํธ ๐ ๏ธ/ํธ๋ฌ๋ธ ์ํ
๋ฌธ์ ์ํฉ ํ๋ก์ฐ ํ๋ก์ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋์๋ค. ์ ๋ฒ๊ณผ ๊ฐ์ ๊ตฌ๋
ํ๊ธฐ๊ฐ ๋ฐ์์ด ์๋๋ ์ด์์ด๋ค. ํ์ง๋ง ์ํฉ์ด ์กฐ๊ธ ๋ค๋ฅด๋ค..! ์ ๋ฒ ์ด์์ ์์ธ์ onAppear์ onDisappear์ ์๋ชป๋ ํธ์ถ ์์๋ก ๊ตฌ๋
ํ๊ธฐ ๋ฒํผ์ ๋๋ ์๋, ๋ทฐ๋ฅผ ๋๊ฐ๋ค ๋ค์ด์ค๋ฉด ๋ฐ์์ด ๋์ง ์์๋ ๊ฒ์ด์๋๋ฐ ์ด๋ฒ์๋ ๋น์ทํ ์ํฉ์ด์ง๋ง ์กฐ๊ธ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ค. ์ด๋ฒ ์ด์์ ์์ธ์ ForEach ์๋ค. ๋ฌธ์ ๋ ์๋์ง๋ง ,, ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋๋ฅผ ํ๋ฒ ๋ณด๋ฉด // 1๋ฒ ์ฝ๋ ForEach(0..
ํ๋ก์ ํธ ๐ ๏ธ/ํธ๋ฌ๋ธ ์ํ
๋ฌธ์ ์ํฉ ํ๋ก์ ํธ๋ฅผ ํ๋ ์์ค ํ๋ก์ฐ ํ๋ก์ ๊ธฐ๋ฅ์ ๋ฃ๋ ๊ณผ์ ์์ ์ด์๊ฐ ๋ฐ์ํ๋ค ๐จ ์ด๋ค ์ด์๋๋ฉด!!?? ์ค๋ช
์์ ๋ฉ๊ฑฐ์ง๋ํ
์ผ๋ทฐ๋ฅผ “1๋ฒ ๋ทฐ”, ์ ์ ํ๋กํ๋ทฐ๋ฅผ “2๋ฒ ๋ทฐ”๋ก ํ๊ฒ ์ต๋๋ค. 1๋ฒ๋ทฐ → 2๋ฒ๋ทฐ๋ก ๊ฐ๋ ๋ค๋น๊ฒ์ด์
๋ทฐ ๊ณ์ธต์์ 1๋ฒ๋ทฐ์์ 2๋ฒ๋ทฐ๋ก ๋ค์ด๊ฐ ๊ตฌ๋
ํ๊ธฐ ๋ฒํผ์ ๋๋ฅธํ์ ๋ค๋ก๊ฐ๋ค๊ฐ ๋ค์ 2๋ฒ๋ทฐ๋ก ๋ค์ด๊ฐ๋ฉด ๋ด๊ฐ ํด๋น ์ฌ์ฉ์๋ฅผ ๊ตฌ๋
ํ๊ณ , ๊ทธ ์ ๋ณด๋ฅผ ์
๋ฐ์ดํธ๋ฅผ ์์ผ์ค์๊ธฐ ๋๋ฌธ์ “๊ตฌ๋
์ค” ๋ฒํผ์ด ๋์์ผํ๊ณ , ๊ตฌ๋
์์๋ 1๋ช
์ด ๋ ์์ด์ผํ๋ค. ์ด๋ ๊ฒ ..! ๊ทผ๋ฐ ๋ฌธ์ ๋ 2๋ฒ๋ทฐ์์ ์
๋ฐ์ดํธํ์ 1๋ฒ๋ทฐ๋ก ๋ค๋ก๊ฐ๊ธฐ ํ ๋ค์ 2๋ฒ๋ทฐ๋ก ๋ค์ด๊ฐ์๋ ๋ฐ์์ด ์๋๋ ์ด์๊ฐ ๋ฐ์ํ๋ค…! ์ผ๋จ ๊ตฌ๋
ํ๊ธฐ ๋ก์ง์ ๋ํด ์ค๋ช
ํ์๋ฉด, ๊ตฌ๋
ํ๊ธฐ ๋ฒํผ์ ๋๋ฅธ๋ค. ๊ตฌ๋
์ ๋๋ฅด๊ณ , 2๋ฒ๋ทฐ์์ 1๋ฒ๋ทฐ๋ก ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ์ ๋๋ฅผ๋, o..
ํ๋ก์ ํธ ๐ ๏ธ/ํธ๋ฌ๋ธ ์ํ
๋ฌธ์ ์ํฉ Combine ์ผ๋ก ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ. ๋น๋๊ธฐ ์ฝ๋๋ก ๋ทฐ๋ชจ๋ธ์ ์๋ ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ํ ๊ทธ ๋ฐฐ์ด์ ์ถ๋ ฅ์ ํด๋ณด๋ ๋น๋ฐฐ์ด์ด ์ถ๋ ฅ๋๋ ์ํฉ ํ๋ทฐ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์์
์ ํ๋ฉด์ onAppear ๋ด์์ communityVM.fetchCommunity ๋ผ๋ ์ปค๋ฎค๋ํฐ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๋ ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์คํํ๊ณ communityVM.communities (๊ฐ์ ธ์จ ์ปค๋ฎค๋ํฐ ๊ฒ์๋ฌผ๋ค) ๋ฅผ ์ถ๋ ฅํด๋ณด๋ .onAppear { print("onAppear ์์") communityVM.fetchCommunity() print(communityVM.communities) // [] ์ถ๋ ฅ } ๊ฒฐ๊ณผ๋ ? “ [ ] “ ๋น๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค. ์๊ฐํด๋ณด๋ฉด ๋๋ ๋น์ฐํ ๊ฒฐ๊ณผ์๋ค. ^^ ์์ธ fu..
ํ๋ก์ ํธ ๐ ๏ธ/iOS
Router ๊ฐ ๋ญํ๋ ์น๊ตฌ? ์ด๋ฒ์๋ Router ๊ฐ ๋ญํ๋ ์น๊ตฌ์ธ์ง ์์๋ณด๊ฒ์์ ๐ ์ด Router ๋ ๋คํธ์ํฌ ์์ฒญ์ ์ค๋ํฌ์ธํธ, ๋ฉ์๋, ํ๋ผ๋ฏธํฐ ๋ฑ์ ์ ์ํด์ URLRequest ๋ก ๋ณํํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ผ ์ URLRequest ๊ฐ ํ์ํ ๊น์ ? ์ฐ๋ฆฌ๊ฐ ์๋ฒ์ ํต์ ์ ํ๊ธฐ ์ํด์ , ์ฐ๋ฆฌ๊ฐ ์ง๋๋ฒ์ ์ฌ์ฉํ .dataTaskPublisher(for: request) ์ ํ์ํ url ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํจ์
๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ๋ก์ ํธ์์ ํ์ํ ๋ค์ํ ๋คํธ์ํฌ ์์ฒญ๋ค์ด ์์ํ
๋ฐ, user ์ ๊ด๋ จ๋ ๋คํธ์ํฌ ์์ฒญ๋ง ๋ด๋ ์ ์ ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ, ํ์ฌ ๋ก๊ทธ์ธ๋ ์ ์ ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ, ์ต์ด ๋ก๊ทธ์ธ์ ํ์๊ฐ์
ํ ์ ์ ์ ๋ณด ์ ์ฅํ๊ธฐ, ์ ์ ์ ๋ณด ๋ณ๊ฒฝํ๊ธฐ ๋ฑ… ์ด๋ ๊ฒ ๋ค์ํ ์์ฒญ๋ค์ด ์์๊ฒ๋๋ค.! ์ด ๋ชจ๋ ์์ฒญ..