【问题标题】:Only static members can accessed in initializes初始化时只能访问静态成员
【发布时间】:2020-08-05 09:01:24
【问题描述】:

您好,我是 dart 或面向对象编程的新手。我在设置我的列表变量(_tasks)时遇到问题,调用方法(readSavedTasks)来设置值。这是有错误的代码行。

Future<List<ListTasks>> readSavedTasks() async {
   List<ListTasks> tasksSaved = await DataStorage().readTasks();
   return Future.value(tasksSaved);
}

List<ListTasks> _tasks = readSavedTasks();

有人可以帮我解决这个问题吗?在此先感谢

【问题讨论】:

  • readSavedTasks() 返回一个 Future...,因此您要么需要 _tasks 与返回的类型相同,要么通过完成异步调用来解析其值。

标签: flutter dart


【解决方案1】:

您不能在初始化时使用非静态成员。这是一种更好的方法:

Future<List<ListTasks>> readSavedTasks() async {
  List<ListTasks> tasksSaved = await DataStorage().readTasks();
  return Future.value(tasksSaved);
}

@override
void initState() {
  super.initState();
  _init();
}

Future<void> _init() async {
  List<ListTasks> _tasks = await readSavedTasks();
}

【讨论】:

  • 感谢兄弟帮助我。 :)
猜你喜欢
  • 2019-07-05
  • 2020-01-05
  • 2019-01-23
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2020-02-09
相关资源
最近更新 更多