添加新元素以循环映射

Alternative4

好吧,我认为它的新手问题我有带日期时间列表的地图,如果我做这样的事情它的工作完美:

    Map<DateTime, List> _activities;
   _activities = {
  _currentDay.add(Duration(days: 0)):activityNames.toList(),
  _currentDay.add(Duration(days: 7)):activityNames.toList(),
  _currentDay.add(Duration(days: 14)): activityNames.toList(),
  _currentDay.add(Duration(days: 21)): activityNames.toList(),
  _currentDay.add(Duration(days: 28)): activityNames.toList(),
  }

但是我想要像在'for loop'=>错误的例子中那样:

  for( var i = 0 ; i <= 28; i=i+7 ) {
_activities[_currentDay.add(Duration(days:i))]=activityNames.toList();

 }

对我来说看起来不错,但说NoSuchMethedError:方法'[] ='被称为null。

穆罕默德·埃森(Mehmet Esen)

在第一个代码中,您正在初始化_activites变量,因此不会出错。

_activities = {.....

但是在第二个中,您不需要初始化,所以这是您需要的:

Map<DateTime, List> _activities = {};
for( var i = 0 ; i <= 28; i=i+7 ) {
_activities[_currentDay.add(Duration(days:i))]=activityNames.toList();

 }

Dart每个对象都是null在默认情况下,因此必须对其进行初始化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章