import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
part 'person_model.g.dart';
@HiveType(typeId: 1)
class PersonModel extends HiveObject {
@HiveField(0)
int personID = UniqueKey().hashCode;
@HiveField(1)
String personName = "";
@HiveField(2)
double personWeight = 0.0;
@HiveField(3)
double personHeight = 0.0;
@HiveField(4)
double personBMI = 0.0;
@HiveField(5)
bool personHasGoodBMI = false;
PersonModel();
PersonModel.create(this.personID, this.personName, this.personWeight,
this.personHeight, this.personBMI, this.personHasGoodBMI);
}
由于某种原因,当我运行
dart run build_runner build
时,未生成person_model.g.dart
。
我没有收到任何错误,实际上它给了我成功,但文件无处可寻。 我第一次遇到这种情况,能解释一下吗?
嗨,我通过像这样更改代码解决了这个问题
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
part 'person_model.g.dart';
@HiveType(typeId: 100)
class PersonModel {
@HiveField(0)
int personID = UniqueKey().hashCode;
@HiveField(1)
String personName = "";
@HiveField(2)
double personWeight = 0.0;
@HiveField(3)
double personHeight = 0.0;
@HiveField(4)
double personBMI = 0.0;
@HiveField(5)
bool personHasGoodBMI = false;
PersonModel(this.personID, this.personName, this.personWeight,
this.personHeight, this.personBMI, this.personHasGoodBMI);
}
要生成 .g.dart 文件,请使用
flutter pub run build_runner build --delete-conflicting-outputs
确保您的填充被命名为 person_model.dart