按顺序遍历循环中的所有值并使用它们

时间:2017-11-07 09:40:25

标签: ios swift firebase firebase-realtime-database for-in-loop

我如何使用循环或可能没有循环顺序遍历所有使用它们?我在firebase中的数组有5个项目。现在我得到了这个结果print("index - \(index)"

index - 0
index - 1
index - 0
index - 1
index - 2
index - 0
index - 1
index - 2
index - 3
index - 0
index - 1
index - 2
index - 3
index - 4
index - 0
index - 1
index - 2
index - 3
index - 4
index - 5
index - 0
index - 1
index - 2
index - 3
index - 4
index - 5

print("count - \(self.MyIndex.count)")

count - 1
count - 2
count - 3
count - 4
count - 5

使用我的代码

func load() {

    firebaseRef = Database.database().reference(withPath: "MyFirebase")

    firebaseRef.observe(.value, with: { (snapshot) in

        DispatchQueue.main.async {

            for snap in snapshot.children {

                let item = FirebaseIndex(snapshot: snap as! DataSnapshot)

                self.MyIndex.append(item)

                print("count - \(self.MyIndex.count)")

                for index in 0...self.MyIndex.count {

                    print("index - \(index)"

                }
            }
        }
    })
}

我做错了什么?如何获得与计数相同的索引

1 个答案:

答案 0 :(得分:0)

你在MyIndex-Loop中进行打印,因此每次都打印它(并重复自己)。也许试试:

for index in 0...self.MyIndex.count {

     //do stuff

}
//Take the print operation out of the loop
print("index - \(index)")

并查看,如果打印效果与您希望的一样。