flutter - 类实例变量未初始化(飞镖)
问题描述
我正在尝试为我的列表分配值,但是当我在分配后打印列表的长度时,即使它有一个值,它也会给我零。我不确定出了什么问题。这是代码:
// models
import '../models/models.dart';
class EventsProvider {
// list of events
final List<Event> _events = [
Event(day: DateTime(2021, 9, 15), title: 'hello'),
];
// method to get an event of a specific date
List<Event> getEventsForDay(DateTime day) {
print(_events.length);
return _events.where((event) => event.day == day).toList();
}
}
输出
我不知道出了什么问题。任何帮助将不胜感激。
解决方案
我试过你的代码,它工作正常:
void main() {
EventsProvider().getEventsForDay(DateTime(2021, 9, 15));
//Check the return value of the getEventForDay() function
for(final event in provider){
print(event.day);
}
}
class EventsProvider {
// list of events
final List<Event> _events = [
Event(day: DateTime(2021, 9, 15), title: 'hello'),
];
// method to get an event of a specific date
List<Event> getEventsForDay(DateTime day) {
print(_events.length);
return _events.where((event) => event.day == day).toList();
}
}
class Event{
final DateTime? day;
final String? title;
const Event({this.day, this.title});
}
不要忘记 getEventForDay 函数返回一个满足您那里条件的事件列表。
推荐阅读
- arrays - 如何使用 PowerShell 从数组 JSON 中的对象获取键值?
- php - Auth-Attempt Laravel 5.8 只需刷新即可再次登录
- javascript - 如何在 ReactJs 中使用 RadioButton 设置状态
- javascript - 在下拉框中选择出生日期后,我的年龄无法实时显示。为什么?
- csv - 如何在 VS Code 中基于 CSV 文件中的组对行进行着色?
- mysql - ALL子句中的MySQL多列
- r - 以编程方式在 rmardown 中为各种语言创建代码片段
- javascript - Checkbox 在 React todo 应用程序中单击时不会更改其值
- php - 自动将字符串附加到匹配的短语 php
- string - 如何根据开始/停止字符从存储在变量中的字符串中提取子字符串