小编Emi*_*rde的帖子

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

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

错误是:“可为 null 的表达式不能用作 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');
      });

    });
  }
Run Code Online (Sandbox Code Playgroud)

dart firebase-realtime-database flutter

5
推荐指数
2
解决办法
6560
查看次数

参数类型“对象?” 无法分配给参数类型“Map&lt;dynamic,dynamic&gt;”

我在以下行“var map = Map <String,dynamic> .from (snap.snapshot.value);”中的“snap.snapshot.value”参数上出现错误。错误是“参数类型‘对象?’ 无法分配给参数类型“Map <动态,动态>”。”

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 map = Map<String, dynamic>.from(snap.snapshot.value); <--- the error is here

      postsList.clear();

      map.forEach((key, value) {
        var values = Map<String,dynamic>.from(map);
        Posts posts = Posts
          (
            values['url'],
            values['descrizione'],
            values['data'],
            values['ora']
        );
        postsList.add(posts);
      });
Run Code Online (Sandbox Code Playgroud)

dart firebase-realtime-database flutter

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

dart ×2

firebase-realtime-database ×2

flutter ×2