2017-11-07 16 views
0

自分のパスが正しくないため、ファイターズIDをデータベースから読み込むことができませんでした。これは、文字列の最後にデータベースには/ nがないためです。これは、エラーが発生したコードです。それはそれは私がそれの終わりに/ Nを取り除くために必要データベースの文字列から/ nを取り除くこと

ref.child("\(packedNumberString)") 

を見つけていないので、これがある

self.playerPackedID = value?["ID"] as! Int 

を言うところ

func bronzePlayer() { 
    loading.isHidden = false 
    coverPacked.isHidden = false 
    playerPackedCard.isHidden = false 
    coverPackedCard.isHidden = false 
    ref.child("Fighters/Bronze").observeSingleEvent(of: .value, with: { (snapshot) in 

     let value = snapshot.value as? NSDictionary 
     self.packToNumber = value?["Total"] as! Int 
     self.packedNumber = Int(arc4random_uniform(UInt32(self.packToNumber))) + 1 
     self.setPackedString() 

    }) { (error) in 
     print(error.localizedDescription) 
    } 
    ref.child("\(packedNumberString)").observeSingleEvent(of: .value, with: { (snapshot) in 

     let value = snapshot.value as? NSDictionary 
     self.playerPackedID = value?["ID"] as! Int 
     self.playerPackedPicture = value?["Picture"] as? String ?? "" 

     self.loading.isHidden = true 

    }) { (error) in 
     print(error.localizedDescription) 
    } 
    playerPackedCard.texture = SKTexture(imageNamed: "\(playerPackedPicture)") 
} 

エラーが発生します。どのようにどのようなアイデアですか?ありがとう!

+0

あなたはfirebaseからの受信出力、およびスクリーンショットを貼り付けてくださいのデータベースのですか? – Surjeet

+0

ここで返信文字列を投稿してください。問題をよりよく理解するのに役立ちます。 –

+0

@SubratPadhiあなたはそれが時代遅れだと言ったので、私はその答えの代わりに何を言うだろうか知っていますか? – Peter

答えて

2

あなたはfilterを使用して文字列内の文字を削除することができます。

let filteredPackedNumberString = String(packedNumberString.characters.filter { !" \n".characters.contains($0) }) 

を次にあなたがchild parameterとしてフィルタリング文字列を使用することができます。

ref.child("\(filteredPackedNumberString)") 
+0

それは "文字"は償却されていると言います。代わりに私は何を置くべきですか? @MSyakir – Peter

+0

これは答えですが、実際の問題に実際には対処していないため、正解ではありません。また、償却されるので、.charactersではなくSwift 4で直接packedNumberString.filterを使用してください。 – Jay

関連する問題