Flutter 颤振在类中使用foreach

Flutter 颤振在类中使用foreach,flutter,dart,Flutter,Dart,我是个新手,我试着和同学们一起工作,但我遇到了一些问题。 我有一个类UsersList和User。 当我使用UsersList作为用户列表时,如何使用foreach方法? 长度、最后一个、删除最后一个、添加。。。属性也不可用。如何做到这一点 我的类用户列表和用户: class UsersList{ List<User> users; UsersList({ this.users }); factory UsersList.fromJson(List<

我是个新手,我试着和同学们一起工作,但我遇到了一些问题。 我有一个类UsersList和User。 当我使用UsersList作为用户列表时,如何使用foreach方法? 长度、最后一个、删除最后一个、添加。。。属性也不可用。如何做到这一点

我的类用户列表和用户:

class UsersList{
  List<User> users;

  UsersList({
    this.users
  });

  factory UsersList.fromJson(List<dynamic> json) {
    List<User> users= List<User>();

    users= json.map((i) => User.fromJson(i)).toList();

    return UsersList(
      users : users
    );
  }

  Map<String, dynamic> toJson() => {
    "users": users,
  };

  @override
  String toString() {
    return '{'
        'users: ${this.users},'
        '}';
  }
}

class User{
  int type;
  String name;
  bool gender;

  User({
    this.type,
    this.name,
    this.gender,
  });

  factory User.fromJson(Map<String, dynamic> json){
    return User(
      type : json['type'],
      name: json['name'],
      gender : json['gender'],
    );
  }

  Map<String, dynamic> toJson() => {
    "type" : type,
    "name" : name,
    "gender" : gender,
  };

  @override
  String toString() {
    return '{'
        'type : ${this.type},'
        'name: ${this.name},'
        'gender : ${this.gender},'
        '}';
  }
 }

class用户列表{
列出用户名单;
用户列表({
这是我们的用户
});
factory UsersList.fromJson(列表json){
列表用户=列表();
users=json.map((i)=>User.fromJson(i)).toList();
返回用户列表(
用户:用户
);
}
映射到JSON()=>{
“用户”:用户,
};
@凌驾
字符串toString(){
返回“{”
'用户:${this.users},'
'}';
}
}
类用户{
int型;
字符串名;
布尔性别;
使用者({
这个.类型,,
这个名字,
这个,性别,
});
factory User.fromJson(映射json){
返回用户(
类型:json['type'],
名称:json['name'],
性别:json['gender'],
);
}
映射到JSON()=>{
“类型”:类型,
“姓名”:姓名,
“性别”:性别,
};
@凌驾
字符串toString(){
返回“{”
'类型:${this.type},'
'名称:${this.name},'
'性别:${this.gender},'
'}';
}
}
这是我的功能: 我在这里使用UserList类。当我不使用类时,此代码有效

static UsersList getUsersValid(UsersList users, num distance)
  {
    //**************** Initialisation  ****************//
    List<String> _listValidUsersName = [];
    UsersList _filteredUsers = UsersList();

    //**************** Script  ****************//
    users.forEach((user) // ERROR => The method 'forEach' isn't defined for the type 'UsersList'. 
    {
      if(distance <= 100 && !_listValidUsersName.contains(user.name))
      {
        _listValidUsersName.add(user.name);
      }
    });

    if(_listValidUsersName.length > 0)
    {
      users.forEach((user) // ERROR => The method 'forEach' isn't defined for the type 'UsersList'. 
      {
        if (_listValidUsersName.contains(user.name))
        {
          if (_filteredUsers.length > 0 && _filteredUsers.last.name == user.name)
          // ERROR => The getter 'length' isn't defined for the type 'UsersList'
          // ERROR => The getter 'last' isn't defined for the type 'UsersList'
          {
            _filteredUsers.removeLast();
            _filteredUsers.add(user);
          }
          else {
            _filteredUsers.add(user);
          }
        }
      });
    }

    if (_filteredUsers.length <= 0)
    {
      throw MyException.noData();
    }

    return _filteredUsers;
  }
static UsersList getUsersValid(UsersList users,num distance)
{
//****************初始化****************//
列表_listValidUserName=[];
UsersList_filteredUsers=UsersList();
//****************剧本****************//
users.forEach((user)//ERROR=>没有为类型“UsersList”定义方法“forEach”。
{
如果(距离0)
{
users.forEach((user)//ERROR=>没有为类型“UsersList”定义方法“forEach”。
{
if(_listValidUserName.contains(user.name))
{
if(_filteredUsers.length>0&&u filteredUsers.last.name==user.name)
//ERROR=>没有为类型“UsersList”定义getter“length”
//ERROR=>没有为类型“UsersList”定义getter“last”
{
_filteredusters.removeLast();
_添加(用户);
}
否则{
_添加(用户);
}
}
});
}

如果(_filteredUsers.length一个类就像一个包装其变量的父类。要调用类中的变量,应该使用

users.users.forEach

谢谢,抱歉,这确实是合乎逻辑的…我只是在add属性上遇到了另一个问题,它说我“在NUll Receiver NUll上调用了add方法”为什么?如果您使用了适当的大小写,问题会跳得更快。