Artikelverzeichnis
Problembeschreibung
Diese Klasse (oder eine Klasse, von der diese Klasse erbt) ist als „@immutable“ markiert, aber eines oder mehrere ihrer Instanzfelder sind nicht endgültig: SerialsTimer.tasks
Problemcode
class SerialsTimer extends StatefulWidget {
late Queue <Task> tasks; // 使用 Queue 来管理任务
SerialsTimer({
Key? key,
required this.tasks,
}) : super(key: key);
State<SerialsTimer> createState() => _SerialsTimerState();
}
Problemursachen
Dart schließt daraus, dass die von Ihnen geschriebene Klasse eine @immutable (unveränderliche) Klasse ist.
Diese Warnung liegt daran, dass in einer als @immutable (unveränderlich) gekennzeichneten Klasse eines der Instanzfelder (Mitgliedsvariablen) nicht als endgültig deklariert ist.
Wenn Sie in Dart die Annotation @immutable verwenden, müssen alle Instanzfelder der Klasse endgültig sein, um die Unveränderlichkeit des Objekts sicherzustellen. Die Erstellung und Verwaltung unveränderlicher Objekte trägt dazu bei, zuverlässigeren und wartbareren Code zu schreiben.
Wie löst man
Um diese Warnung zu beheben, können Sie Instanzfelder bei der Deklaration als endgültig markieren.
Letzter Modifikator hinzugefügt, um das Aufgabenfeld in der SerialsTimer-Klasse zu korrigieren. Auf diese Weise erfüllt die Klasse die Anforderungen von @immutable. Bitte beachten Sie auch in anderen Bereichen die Vorschriften.
Modifizierter Quellcode
class SerialsTimer extends StatefulWidget {
final Queue <Task> tasks; // 使用 Queue 来管理任务
const SerialsTimer({
Key? key,
required this.tasks,
}) : super(key: key);
State<SerialsTimer> createState() => _SerialsTimerState();
}
Abschluss Flutter ist ein von Google entwickeltes Open-Source-UI-Toolkit, mit dem Sie hochwertige, schöne Anwendungen auf verschiedenen Plattformen erstellen können, ohne viel plattformspezifischen Code schreiben zu müssen. Ich werde alle Aspekte von Flutter lernen und vertiefen. Von Grundkenntnissen bis hin zu fortgeschrittenen Techniken, vom UI-Design bis zur Leistungsoptimierung – diskutieren und lernen Sie gemeinsam mit uns und betreten Sie gemeinsam die wunderbare Welt von Flutter!