Class.fromMap() ์€ ์ƒ์„ฑ์ž๐ŸŒฑ์ด๋‹ค

Jooniยท2020๋…„ 11์›” 25์ผ
1

Jooni_ Flutter ์˜ค๋‹ต๋…ธํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
19/26

โฌ‡๏ธ์•„๋ž˜๋Š” ์ฝ”๋”ฉํŒŒํŒŒ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋ณด๋‹ค๊ฐ€ 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์„ ๋ฐ›์•„ ๋จผ์ € ๋ณ€์ˆ˜๋“ค์„ ์„ธํŒ…ํ•˜๊ฒ ๋‹ค๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

  • ์ด ๋งต ์ž๋ฃŒ๊ตฌ์กฐ๋Š” String : Dynamic ์ง์„ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ Dynamic์ด๋ž€ ์ผ๋ฐ˜์ ์ธ Generic์œผ๋กœ ๋ณด์•„๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. T<- ๋กœ ์ดํ•ดํ•˜๋ฉด ๋” ์‰ฌ์šฐ๋ ค๋‚˜...

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์ธ ์ƒ์„ฑ์ž ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™๋‹ค.
์ƒ์„ฑ์‹œ Map<String, dynamic> map๋งตํ•‘์„ ํ•˜๊ณ  userKey๋ฅผ ๋ฐ›์•„์˜ค๊ณ , reference๋Š” ์˜ต์…˜์œผ๋กœ ๋ฐ›์•„์˜จ๋‹ค.


fromMap์„ ์ดํ•ดํ•˜๋Š”๋ฐ 1์‹œ๊ฐ„์ •๋„ ๊ฑธ๋ฆฐ๊ฑฐ ๊ฐ™๋‹ค.

์š”์•ฝ

fromMap๊ณผ toMap์ด ์žˆ๋Š”๋ฐ ์˜ค๋Š˜์€ ์ผ๋‹จ fromMap๋งŒ ๊ณต๋ถ€ํ•˜๊ธฐ๋กœ ํ•œ๋‹ค.
fromMap์€ ์ƒ์„ฑ์ž ์ƒ์„ฑ์ „์— Mapํ˜•์„ ๋จผ์ € ์ดˆ๊ธฐํ™” ํ•˜๋Š” ์ƒ์„ฑ์ž ๋ฉ”์„œ๋“œ์ด๋‹ค.

profile
์ดํ•ด๊ฐ€ ์•ˆ๋ผ์‹œ๊ฑฐ๋‚˜ ์งˆ๋ฌธ์ด ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ์„ฑ์‹ฌ์„ฑ์˜๊ป ์‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 1์›” 18์ผ

์ด์ œ fromMap()<- ์ด๊ฒŒ named constructor๋ผ๋Š”๊ฑธ ๊นจ๋‹ฌ์•˜๋‹ค ใ…Žใ…Ž

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ