Firebaseの値で評価を計算しようとしました。しかし、出力は、ratersCount
とrating
の値が何であっても、常にNaN
(「数字ではない」)です。何が原因でこれを解決することができますか?評価が「NaN」になる
これは私がFirebaseから値を取得する方法である:私は、ratersCountと計算を格付けをプリントアウトしようとした場合、出力された
let ref = FIRDatabase.database().reference().child("Snuses").queryOrdered(byChild: "Brand").queryEqual(toValue: brandName)
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.exists(){
let enumerator = snapshot.children
while let thisProduct = enumerator.nextObject() as? FIRDataSnapshot
{
// Chances are you'd have to create a dictionary
let thisProductDict = thisProduct.value as! [String:AnyObject]
let rating = thisProductDict["rating"] as! Double
let ratersCount = thisProductDict["ratersCount"] as! Double
let ratingToShow: Double = rating/ratersCount//Here I do the calculation
:
0.0//rating
0.0//ratersCount
Rating is equal to nan
しかし、私は値が知っています
Snuses
Catch Dry Eucalyptus White Mini
ratersCount: 2
rating: 5
ゼロを印刷していて値がゼロでないことがわかっている場合は、問題はここにありません。たぶんあなたが悪いオブジェクトを参照しているか、データベースに問題があります。私たちはあなたのデータを見ることなく知ることができません。 – Sulthan