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