Необработанное исключение: NoSuchMethodError: метод add был вызван с нулевым значением .: Пробный вызов: add(экземпляр CategoryModel)

В своем приложении я использую пакет Hive для сохранения данных в базе данных, на домашней странице, когда я создаю объект, который называется CategoryModel, и когда я пытаюсь добавить его в поле, я сталкиваюсь с ошибкой в ​​заголовке. Я разделяю initState homePage и класс HiveHelper ниже.

      HiveHelper hiveHelper =HiveHelper();
  CategoryModel newCategoryModel=CategoryModel();
  Widget buildBottomSheet(BuildContext context)=>AddMenuScreen(buttonText: "Menü Ekle",route: "homeScreen");
  int flag=0;
  List list=[];

 void initState(){
    super.initState();
    hiveHelper.initState();
    if (widget.newCategoryName!=null && widget.newCategoryImagePath!=null){
      newCategoryModel= CategoryModel(categoryId:categoryModels.length-1, categoryImagePath: widget.newCategoryImagePath,
        categoryName: widget.newCategoryName,categoryColor: Color((Random().nextDouble() * 0xFFFFFF).toInt()).withOpacity(0.5).value);
      categoryModels.insert(categoryModels.length-1,newCategoryModel);
      hiveHelper.addCategoryModel(newCategoryModel);
    }
      
class HiveHelper{
  Box <CategoryModel>categoryModels;
  CategoryModel categoryModel;

  void initState() async {
    if(categoryModels==null){
      var _directory =await getApplicationDocumentsDirectory();
      Hive
        ..init(_directory.path)
        ..registerAdapter(CategoryModelAdapter())
        ..registerAdapter(SubCategoryModelAdapter())
        ..registerAdapter(SubCategoryModelAdapter());

      categoryModels = await Hive.openBox<CategoryModel>('categoryModels');

    }
  }
  void addCategoryModel(CategoryModel categoryModel)async{
    await categoryModels.add(categoryModel);
  }
  Future <Box> getCategoryModels()async{
    return categoryModels;
  }
}

Как я могу справиться с этой проблемой, пожалуйста, помогите мне ..

0 ответов

Другие вопросы по тегам