Получение "NoSuchMethodError:" элемент "получателя был вызван при значении null". при использовании build_runner
Я новичок в флаттере, поэтому дайте мне знать, если кому-то понадобится дополнительная информация. Я пытался использовать Hive с моим приложением Flutter. Я хочу создать собственный адаптер для написанного мной класса под названием Product. Когда я запускаю "flutter packages pub run build_runner build", я получаю вот что:
NoSuchMethodError: The getter 'element' was called on null.
Receiver: null
Tried calling: element
[SEVERE] hive_generator:hive_generator on lib/Pages/Content Cards/productCard.dart:
NoSuchMethodError: The getter 'element' was called on null.
Receiver: null
Tried calling: element
[SEVERE] hive_generator:hive_generator on lib/Pages/Content Cards/featuredCard.dart:
NoSuchMethodError: The getter 'element' was called on null.
Receiver: null
Tried calling: element
[INFO] 19.8s elapsed, 5/14 actions completed.
[WARNING] hive_generator:hive_generator on lib/Models/product.dart:
Missing "part 'product.g.dart';".
[INFO] Running build completed, took 20.2s
[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 42ms
[SEVERE] Failed after 20.2s
pub finished with exit code 1
Это класс продукта: https://pastebin.com/0a0W18ep
Это productCard.dart: https://pastebin.com/gV7kP2YG
Это FeatureCard.dart: https://pastebin.com/7tke6V17
Вот соответствующая часть моего pubsec.yaml:
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
http: ^0.12.2
hive: ^1.4.4
hive_flutter: ^0.3.1
# For OS-specific directory paths
path_provider: ^1.6.18
dev_dependencies:
build_runner:
flutter_test:
sdk: flutter
hive_generator:
dependency_overrides:
analyzer:
Я пробовал изменить версии build_runner и анализатора и проверить, является ли объект продукта нулевым, прежде чем извлекать из него значения. К сожалению, ни один из них не сработал.
1 ответ
В сообщении об ошибке говорится, что вы
Missing "part 'product.g.dart';".
.
Я проверил ваш код и его не хватает. Добавьте это отсутствующее утверждение в
product.dart
.
import 'package:hive/hive.dart';
part 'product.g.dart';
@HiveType(typeId: 1)
class Product {
/// other code ...
}