【发布时间】:2022-02-18 22:35:50
【问题描述】:
我必须从 Firebase 数据库中获取数据,并通过“keys”键获取所有数据并将它们插入到“postsList”中。为此,我使用了 for-in 循环。后者给我一个错误。
错误是:“可空表达式不能用作 for-in 循环中的迭代器。在将其用作迭代器之前,请尝试检查该值是否不是 'null'。” em>
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');
});
});
}
【问题讨论】:
标签: flutter dart firebase-realtime-database