DART

[노마드코더 : Dart 시작하기] #4.4 Recap

유호야 2022. 11. 21. 00:39
반응형
class Player {
  final String name;
  int xp;
  String team;

  Player.fromJson(Map<String, dynamic> playerJson)
      : name = playerJson['name'],
        xp = playerJson['xp'],
        team = playerJson['team'];
  // initalize

  void sayHello() {
    print("Hi, my name is $name");
  }
}

void main() {
  var apiData = [
    {
      "name": "nico",
      "team": "red",
      "xp": 0,
    },
    {
      "name": "yj",
      "team": "red",
      "xp": 0,
    },
    {
      "name": "pl",
      "team": "red",
      "xp": 0,
    },
  ];

  apiData.forEach((playerJson) {
    var player = Player.fromJson(playerJson);
    player.sayHello();
  });
}

 

이 부분이 아주 헷갈리기 시작하는 데, 핵심은 생성자를 아래처럼 Map의 형태로 받아서 변수들을 초기화 시킨 것이다

apiData.forEach((list) {
    var player = Player.fromJson(list);
    player.sayHello();
});

list 부분을 playerJson ,, 기타 다른 단어들로 대체할 수 있다고 생각하면 된다. 
즉 파라미터를 가지고 생성자에 집어넣는 것!

반응형