gpt4 book ai didi

flutter - 可空表达式不能用作 for-in 循环中的迭代器。在将其用作迭代器之前尝试检查该值是否不是 'null'

转载 作者:行者123 更新时间:2023-12-05 01:54:26 25 4
gpt4 key购买 nike

我必须从 Firebase 数据库获取数据并通过键“keys”获取所有数据并将它们插入“postsList”。为此,我使用了 for-in 循环。后者给我一个错误。

错误是:“可空表达式不能用作 for-in 循环中的迭代器。在将其用作迭代器之前,请尝试检查该值是否为‘null’。”

class _HomePageState extends State<HomePage> {

List<Posts> postsList = [];


@override
void initState() {

super.initState();


DatabaseReference postsRef = FirebaseDatabase.instance.reference().child("Posts");

postsRef.once().then((snap)
{

var keys = snap.snapshot.key;
var values = snap.snapshot.value;

postsList.clear();

for (var individual in keys) {
Posts posts = Posts(
values[individual]['url'],
values[individual]['descrizione'],
values[individual]['data'],
values[individual]['ora'],
);
postsList.add(posts);
}


setState(()
{
print('Length : $postsList.length');
});

});
}

最佳答案

在键后面添加!,例如:for(key in keys!

  @override
void initState() {

super.initState();


DatabaseReference postsRef = FirebaseDatabase.instance.reference().child("Posts");

postsRef.once().then((snap)
{

var keys = snap.snapshot.key;
var values = snap.snapshot.value;

postsList.clear();

for (var individual in keys!) {
Posts posts = Posts(
values[individual]['url'],
values[individual]['descrizione'],
values[individual]['data'],
values[individual]['ora'],
);
postsList.add(posts);
}


setState(()
{
print('Length : $postsList.length');
});

});
}

关于flutter - 可空表达式不能用作 for-in 循环中的迭代器。在将其用作迭代器之前尝试检查该值是否不是 'null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70615596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com