โฌ๏ธ์๋๋ ์ฝ๋ฉํํ๋์ ๊ฐ์๋ฅผ ๋ณด๋ค๊ฐ FireStore ๋ถ๋ถ์ ํ ๋์ ์ฝ๋ ์ผ๋ถ์ด๋ค
class UserModel {
final String userKey;
final String profileImg;
final String email;
final List<dynamic> myPosts;
final int followers;
final List<dynamic> likedPosts;
final String username;
final List<dynamic> followings;
final DocumentReference reference;
UserModel.fromMap(Map<String, dynamic> map, this.userKey, {this.reference})
: profileImg = map[KEY_PROFILEIMG],
username = map[KEY_USERNAME],
email=map[KEY_EMIAL],
likedPosts=map[KEY_LIKEDPOSTS],
followers=map[KEY_FOLLOWERS],
followings=map[KEY_FOLLWINGS],
myPosts = map[KEY_MYPOSTS];
}
์ฌ๊ธฐ์ fromMap์ด๋ผ๋ ๋ถ๋ถ์ด ๋ณด์ด๋๋ฐ ์๋ฌด๋ฆฌ ์ฐพ์๋ ์๊ธฐ์ฌ์ด ์ค๋ช ์ด ์์ด์ ํํ๋์ slack์ ๊ฒ์ํด ์์๋ด๊ฒ ๋์๋ค. ๋ฌผ๋ก Flutter doc ๋ ์ฐพ์ ๋ณด์๋ค ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํด๋ณด๋ฉด ๊ณต์ ๋ฌธ์๋ฅผ ์ ์ ์์.
fromMap์ดํ์ ์ฝ๋๋ค์ ์์ฑ์ ๋งค๊ฐ๋ณ์์ ์์ฑ์ ์ผ์ด๋๊ฒ๋๋ ํจ์๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฑฐ ๊ฐ๋ค.
Map<String, dynamic> map
โก๏ธ ๋งต ์๋ฃ๊ตฌ์กฐ๋ก, ์ด๊ณณ์์๋ ๋งค๊ฐ๋ณ์๋ก Map์ ๋ฐ์ ๋จผ์ ๋ณ์๋ค์ ์ธํ
ํ๊ฒ ๋ค๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
๋ค์ ๋จ๊ณ๋ ์ผ๋ฐ์ ์ธ ์์ฑ์ ํ๋ก์ธ์ค์ ๊ฐ๋ค.
์์ฑ์ Map<String, dynamic> map
๋งตํ์ ํ๊ณ userKey๋ฅผ ๋ฐ์์ค๊ณ , reference๋ ์ต์
์ผ๋ก ๋ฐ์์จ๋ค.
fromMap์ ์ดํดํ๋๋ฐ 1์๊ฐ์ ๋ ๊ฑธ๋ฆฐ๊ฑฐ ๊ฐ๋ค.
fromMap๊ณผ toMap์ด ์๋๋ฐ ์ค๋์ ์ผ๋จ fromMap๋ง ๊ณต๋ถํ๊ธฐ๋ก ํ๋ค.
fromMap์ ์์ฑ์ ์์ฑ์ ์ Mapํ์ ๋จผ์ ์ด๊ธฐํ ํ๋ ์์ฑ์ ๋ฉ์๋์ด๋ค.
์ด์ fromMap()<- ์ด๊ฒ named constructor๋ผ๋๊ฑธ ๊นจ๋ฌ์๋ค ใ ใ