Dart: создание нескольких объектов одновременно

#dart #flutter

#dart #flutter

Вопрос:

Как я могу создать несколько объектов за 1 шаг в Dart? Что-то вроде:

 Class Player{ 

var Health;
var Level; .... }
  

Где-то в другом месте:

 Player[] player = new Player[20];
  

Как я могу это сделать в Dart?

Ответ №1:

Если вы хотите создать много «игроков»… Попробуйте это:

 var players = List.generate(20, (i) => Player(/* properties */));
  

Заполнение из любого источника, вы можете использовать «i» в качестве индекса.

 var players = List.generate(20, (i) { 
    var sourceRef = source[i];

    return Player(
      health: sourceRef["health"]
    ); 
});
  

Комментарии:

1. Как я могу заполнить все значения для конкретного проигрывателя на вашем пути?

Ответ №2:

Вы можете создать список Player , используя следующую строку:

      List<Player> player = new List(20);
  

А затем инициализируйте каждый объект вашего player списка :

      for (var i in jsonResponse['participants']) {
       player[x] = new Player() ; // add this to your code
       var fill = player[x];
       fill.health = i['health'];
       x  ;
     }
  

Вы можете найти более подробную информацию о правильном способе создания и инициализации list в официальной документации по Dart.

Комментарии:

1. Когда я пробую это таким образом, я получаю: Произошло исключение. Ошибка nosuchmetoderror (Ошибка nosuchmetoderror: параметр ‘profileIconId=’ был вызван в null. Получатель: null Пытался вызвать: level = 1301), когда я перебираю список объектов и пытаюсь ввести значения