Flutter NoSuchMethodError:getter';stringValue';已使用冻结对null调用
不久前,我又开始了一个项目的工作,我离开后就死了,我在build_runner中遇到了以下错误: 日志终端生成运行程序详细信息:Flutter NoSuchMethodError:getter';stringValue';已使用冻结对null调用,flutter,dart,Flutter,Dart,不久前,我又开始了一个项目的工作,我离开后就死了,我在build_runner中遇到了以下错误: 日志终端生成运行程序详细信息: [WARNING] freezed:freezed on lib/3_domain/workout/workout.dart: Error NoSuchMethodError: The getter 'stringValue' was called on null. Receiver: null Tried calling: stringValue > [WAR
[WARNING] freezed:freezed on lib/3_domain/workout/workout.dart:
Error NoSuchMethodError: The getter 'stringValue' was called on null.
Receiver: null
Tried calling: stringValue
> [WARNING] freezed:freezed on lib/3_domain/workout/workout.dart:
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1 FreezedGenerator._getConstructorRedirectedName (package:freezed/src/freezed_generator.dart:501:23)
<asynchronous suspension>
#2 FreezedGenerator._parseConstructorsNeedsGeneration (package:freezed/src/freezed_generator.dart:219:11)
<asynchronous suspension>
#3 FreezedGenerator.parseElement (package:freezed/src/freezed_generator.dart:76:41)
<asynchronous suspension>
#4 ParserGenerator.generate (package:freezed/src/parse_generator.dart:36:22)
<asynchronous suspension>
#5 _generate (package:source_gen/src/builder.dart:332:23)
<asynchronous suspension>
#6 Stream.toList.<anonymous closure> (dart:async/stream.dart)
<asynchronous suspension>
谢谢你的回答 这似乎是冻结的0.12.6中的一个bug,因为我试图降级到冻结的0.12.5并且它可以工作 此外,github中还有一个悬而未决的问题
这似乎是冻结的0.12.6中的一个错误,因为我尝试降级到冻结的0.12.5,并且它工作正常 此外,github中还有一个悬而未决的问题
谢谢你的回答。我已经尝试降级到0.12.5,但没有多大成功。我也已经启动了颤振升级以防万一。有解决方案吗@QuentinVaucelle AuzelNo我没有找到任何,但我认为这是由于我对依赖项进行了批量更新。但现在,即使回到以前的状态,我也会收到相同的错误消息。我需要好好休息一下,稍后再查。谢谢你的回答。我已经尝试降级到0.12.5,但没有多大成功。我也已经启动了颤振升级以防万一。有解决方案吗@QuentinVaucelle AuzelNo我没有找到任何,但我认为这是由于我对依赖项进行了批量更新。但现在,即使回到以前的状态,我也会收到相同的错误消息。我需要好好休息一下,稍后再查。
import 'package:FitnessAI_MobileApp/3_domain/core/failures.dart';
import 'package:FitnessAI_MobileApp/3_domain/core/value_object.dart';
import 'package:FitnessAI_MobileApp/3_domain/workout/workout_value_objects.dart';
import 'package:dartz/dartz.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'workout.freezed.dart';
@freezed
abstract class Workout implements _$Workout {
const Workout._();
const factory Workout({
@required UniqueId id,
@required ExerciseList exerciseList,
@required WorkoutType workoutType,
//@required List3<TodoItem> todos,
}) = _Workout;
/// Empty constructor of any new note
factory Workout.empty() => Workout(
id: UniqueId(),
exerciseList: ExerciseList.empty(),
workoutType: WorkoutType.init(),
);
Option<ValueFailure<dynamic>> get failureOption {
Option<ValueFailure<dynamic>> exerciseFailureOption;
if (exerciseList
.getOrCrash()
.map(
(exercise) => exercise.failureOption,
)
.where((o) => o.isSome())
.toList()
.isEmpty) {
exerciseFailureOption = none();
} else {
exerciseFailureOption = exerciseList
.getOrCrash()
.map(
(exercise) => exercise.failureOption,
)
.where((o) => o.isSome())
.toList()[0];
}
return workoutType.failureOrUnit
.andThen(
exerciseFailureOption.fold(
() => right(unit),
(f) => left(f),
),
)
.fold(
(f) => some(f),
(_) => none(),
);
}
}
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.26.0-2.0.pre.86, on Mac OS X 10.15.7 19H15 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.52.1)
[✓] Connected device (1 available)