android - Hive 生成​​的文件错误 - "control-flow-collections"实验未启用 - Flutter/Dart

标签 android ios flutter dart cross-platform

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'dbmodel.dart';

// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************

class CacheAdapter extends TypeAdapter<Cache> {
  @override
  final typeId = 4;

  @override
  Cache read(BinaryReader reader) {
    var numOfFields = reader.readByte();
    var fields = <int, dynamic>{
      for (var i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
    };
    return Cache(
      isDarkMode: fields[0] as bool,
    );
  }

  @override
  void write(BinaryWriter writer, Cache obj) {
    writer
      ..writeByte(1)
      ..writeByte(0)
      ..write(obj.isDarkMode);
  }
}

Hive 生成​​文件的 for 循环中存在错误,提示“control-flow-collections”实验未启用。

for (var i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),

有人可以帮我吗?

最佳答案

我找到了一个解决方案,在你的flutter应用程序的根文件夹中运行以下命令(不是flutter SDK):

flutter analyze

并且你会看到多个警告,说没有为“control-flow-collections”定义实验,问题是你的Flutter App文件夹的pubspec.yaml中定义的SDK包含

environment:
  sdk: ">=2.1.0 <3.0.0"

2.3.0版本之前不支持实验,必须将版本更改为:

environment:
  sdk: ">=2.3.0 <3.0.0"

然后运行:

flutter pub get

在 flutter 应用程序的根目录中并重新运行“flutteranalyze”,问题就会消失。

关于android - Hive 生成​​的文件错误 - "control-flow-collections"实验未启用 - Flutter/Dart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59763204/

相关文章:

ios - 图片未按JSON上的base64字符串发布

image - 无法加载 YouTube 缩略图的网络图像 Flutter Web

listview - 如何让Flutter ListView像图片一样有边框半径

java - 调整亮度设置时出现空指针异常

android - onTabSelected 选定未调用

android两次调用相同的对话框

android - 懒惰的Android依赖项。 gradle依赖解析之前如何构建AARs库

ios - Swift - 如何从语音保存文本文件

ios - 执行选择器 :withObject:afterDelay: -- can I be certain that this is run on the main thread?

dart - Flutter:如何获取 http 请求的上传/下载进度