Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 当从不同类访问时,HashedMap数据丢失-颤振_Flutter - Fatal编程技术网

Flutter 当从不同类访问时,HashedMap数据丢失-颤振

Flutter 当从不同类访问时,HashedMap数据丢失-颤振,flutter,Flutter,我正在从网络上获取医生列表,并将其保存在散列图中,以便在不同的类中使用 每当我访问地图时,我都会发现它是空的(尽管我之前已经填好了) 类博士控制器{ 静态fetch()异步{ //从网上获取医生名单 var map=map(); 映射['action']=“GET”; 最终响应=等待http.post(根,主体:map); //用医生填充散列图 for(int i=0;i

我正在从网络上获取医生列表,并将其保存在散列图中,以便在不同的类中使用

每当我访问地图时,我都会发现它是空的(尽管我之前已经填好了)

类博士控制器{
静态fetch()异步{
//从网上获取医生名单
var map=map();
映射['action']=“GET”;
最终响应=等待http.post(根,主体:map);
//用医生填充散列图
for(int i=0;i
现在,每当我调用医生[X];我都会得到一个无效的医生实例
长度为0。

您是从其他隔离区调用它吗?隔离区不共享内存,这包括静态变量。@Ovidiu抱歉,我不知道什么是隔离区,调用类来自不同的包(目录)已将两者移动到同一个包中,但什么也没有。您能否使用断点确认已到达为列表分配
Doctor
实例的代码部分,并且您没有收到任何异常?@Ovidiu使用getter方法,并将其恢复为以前的状态(如上所述),现在它可以工作了,猜测这是一个颤振错误。
class DoctorsController {

     static fetchDoctors() async {
//geting a list of doctors from web
 var map = Map<String, dynamic>();
map['action'] = "GET";
 final response = await http.post(root, body: map);


// fill the hashed map with doctors
 for (int i = 0; i < parsed.length; i++) {
      Doctor doctor = Doctor.fromJson(parsed[i]);
      doctors[doctor.id]=doctor;
    }


    static Doctor getDoctorById(Case caseItem){
print(doctors.length);
        return doctors[caseItem.doctorId];
      }