ํ๋ก์ ํธ ๐ ๏ธ/ํธ๋ฌ๋ธ ์ํ
๋ฌธ์ ์ํฉ Combine ์ผ๋ก ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ. ๋น๋๊ธฐ ์ฝ๋๋ก ๋ทฐ๋ชจ๋ธ์ ์๋ ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ํ ๊ทธ ๋ฐฐ์ด์ ์ถ๋ ฅ์ ํด๋ณด๋ ๋น๋ฐฐ์ด์ด ์ถ๋ ฅ๋๋ ์ํฉ ํ๋ทฐ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์์
์ ํ๋ฉด์ onAppear ๋ด์์ communityVM.fetchCommunity ๋ผ๋ ์ปค๋ฎค๋ํฐ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๋ ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์คํํ๊ณ communityVM.communities (๊ฐ์ ธ์จ ์ปค๋ฎค๋ํฐ ๊ฒ์๋ฌผ๋ค) ๋ฅผ ์ถ๋ ฅํด๋ณด๋ .onAppear { print("onAppear ์์") communityVM.fetchCommunity() print(communityVM.communities) // [] ์ถ๋ ฅ } ๊ฒฐ๊ณผ๋ ? “ [ ] “ ๋น๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค. ์๊ฐํด๋ณด๋ฉด ๋๋ ๋น์ฐํ ๊ฒฐ๊ณผ์๋ค. ^^ ์์ธ fu..
ํ๋ก์ ํธ ๐ ๏ธ/iOS
์ฐ๋ฆฌ๊ฐ Firebase Firestore RestAPI ๋ฅผ ์ฌ์ฉํ๋ฉด์, ๊ธฐ์กด์ ์ฌ์ฉํ๋ SDK ๋ฅผ ์ฌ์ฉํ ๋ฉ์๋๋ฅผ ๋ค์ ์๋ก ๊ตฌํํด์ผํ๋ค. ๋จผ์ ์ฐ๋ฆฌ๋ Firestore๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์ค๊ณ , Firestore ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด URLSession ์ ์ฌ์ฉํด์ ๋คํธ์ํฌ ์์
์ ์ฒ๋ฆฌํ๋ค. ๋คํธ์ํฌ ์์
์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค์ํ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฐฉ์์ค Combine์ ์ฑํํ์ฌ Combine ๊ณผ URLSession ์ด ๋ ์กฐํฉ์ ์ฌ์ฉํด๋ณด๊ธฐ๋ก ํ๋ค. ๋จผ์ ํฐ ๊ตฌ์กฐ๋ก ํ๋ฒ ์๊ฐํด๋ณด๋ฉด, ๐ค URL ์ ๋ํ ๋ฐ์ดํฐ ์์
์ ์ํ Publisher ์ Publisher ๋ฅผ ๊ตฌ๋
ํด์ Publisher์์ ๋ฐ์ํ๋ ๊ฐ์ ์ฒ๋ฆฌํ Subscriber ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋์ ์ด๋ป๊ฒ ๋คํธ์ํฌ ๋ ์ด์ด๋ฅผ ๊ตฌํํ ๊ฒ์ด๋ ! ๐ค ์ ..
ํ๋ก์ ํธ ๐ ๏ธ/iOS
์ด๊น์์ด ๋์์จ Combine ์ธ๋ฏธ๋ 3ํ ๋ง์ง๋ง์
๋๋ค. ์ด๋ฒ ์๊ฐ์๋ Operator ์ ๋ํด ์ด์ผ๊ธฐ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค!! Operator ? Operator ๋ Publisher์๊ฒ ๋ฐ์ ๊ฐ์ ๊ฐ๊ณตํด์ Subscriber์๊ฒ ์ ๊ณตํฉ๋๋ค. Combine์์๋ ์ ๋ง ๋ค์ํ operator ๋ฅผ ์ ๊ณตํ๋๋ฐ์! Operator ๋ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ์นญ๊ตฌ์ธ์ง ์์๋ณด๊ธฐ์ํด์ ๋ํ์ ์ผ๋ก Operator์ ๋นํธ์ธ ํ์
์ธ map, filter ๋ฅผ ์ฌ์ฉํด๋ณผ๊ฒ์! 1. map Swift ๋ก ์๊ณ ๋ฆฌ์ฆ์ ํ๋ ์ด๋ค ์ฐ์๊ฐ์ ์๋ก ๋งคํํด์ ๋ณํํ ๋ฐฐ์ด์ ๋ง๋ค๋ map ํจ์๋ฅผ ๋ง์ด ์ฌ์ฉํ์ฃ ! map ํจ์๋ ์ด๋ค ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์
๋ํด ๋ณํ ํด๋ก์ ธ๋ฅผ ์ฌ์ฉํด ๋ฐฐ์ด๋ก ๋ฆฌํดํ๋ ํจ์์
๋๋ค. ์ด์ ๋น์ทํ๊ฒ map Operator ๋ ํผ๋ธ๋ฆฌ์
๊ฐ..
ํ๋ก์ ํธ ๐ ๏ธ/iOS
์ง๋ ์๊ฐ์ ์ด์ด ๋๋ฒ์งธ๋ก ๋์์จ Combine ์ธ๋ฏธ๋ 2ํ์
๋๋ค. ์ด๋ฒ ์๊ฐ์๋ Subject ์ ๋ํด ์ด์ผ๊ธฐ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค!! ๋๋ฅ ๐คฉ Subject? https://developer.apple.com/documentation/combine/subject Subject | Apple Developer Documentation A publisher that exposes a method for outside callers to publish elements. developer.apple.com Subject ๋ ๋ฌด์? ๋ณด์ํ๋ Publisher ํ๋กํ ์ฝ์ ๋ฐ๋ฅด๊ณ ์๊ณ , Publisher ๋ผ๋๊ฒ์ ์ ์ ์์ฃ ,, ๊ทธ๋ผ ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ Publisher์๋ ์ด๋ค ์ฐจ์ด์ ์ด ์์๊น์? ⇒ ๋ฐ๋ก se..