Flutter MVP 错误处理手势时抛出以下 NoSuchMethodError

时间:2021-03-24 09:50:17

标签: android ios flutter dart mobile

我在实现MVP架构时遇到了问题,似乎一切正常,但是当我执行该方法时,在日志中出现“The following NoSuchMethodError was thrown while handling a gesture: The method 'refreshData' was called on null. Receiver: null Tried calling: refreshData(Instance of 'LoginModel')”错误,并且数据没有传输到模型,如何绕过它也许有人知道

这里是模型和演示者的代码

主持人

import 'package:bestRunConsulting/data/LoginModel.dart';
import 'package:bestRunConsulting/data/LoginView.dart';

class LoginPresenter {
  set view(LoginView loginView) { }
  void signInClick() { }
}

class BasicLoginPresenter implements LoginPresenter {
  LoginModel _loginModel;
  LoginView _loginView;

  BasicLoginPresenter() {
    this._loginModel = LoginModel();
  }

  @override
  set view(LoginView loginView) {
    _loginView = loginView;

    print("LoginView -> $loginView");

    this._loginView.refreshData(this._loginModel);
  }

  @override
  void signInClick() {
    String login = this._loginModel.userLogin.text;
    String password = this._loginModel.userPassword.text;

    print("Login -> $login \n Password -> $password");

    this._loginView.refreshData(this._loginModel);
  }
}

型号

import 'package:flutter/material.dart';

class LoginModel {
  final TextEditingController userLogin = new TextEditingController();
  final TextEditingController userPassword = new TextEditingController();
}

查看

import 'package:bestRunConsulting/data/LoginModel.dart';

class LoginView {
  void refreshData(LoginModel model) {
    print("Not implements method");
  }
}

0 个答案:

没有答案