Ошибка сгенерированного файла куста - эксперимент «control-flow-collection» не включен - Flutter / Dart - PullRequest
3 голосов
/ 16 января 2020
// 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);
  }
}

В for l oop сгенерированного файла Hive произошла ошибка, в которой говорится, что эксперимент "control-flow-collection" не включен.

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

Can кто-нибудь поможет мне с этим?

1 Ответ

3 голосов
/ 16 января 2020

Я нашел решение, запустите следующую команду в папке root вашего флаттера (не SDK флаттера):

flutter analyze

И вы увидите несколько предупреждений о том, что эксперимента нет проблема определяется тем, что SDK, определенный в pubspe c .yaml вашей папки Flutter App, содержит

environment:
  sdk: ">=2.1.0 <3.0.0"

. До 2.3.0 эксперимент не поддерживается. версия, поэтому вам нужно изменить версию на:

environment:
  sdk: ">=2.3.0 <3.0.0"

, затем запустить:

flutter pub get

в root вашего приложения флаттера и снова запустить «анализ флаттера», и проблема исчезает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...