私は迅速かつfirebaseを使いこなすのが新しいです、私は単純なアプリケーションを作っています。これは、ユーザがセルラープレフィックス番号を入力し、その番号であるセルラーネットワークを表示させるものです。私のIf-Elseブロックは、それほど機能しないのはなぜですか?
if-else部分には大きな問題があります。 else部分を追加するたびに、ラベルには常に「Missing」と表示されますが、snapshot.keyとsnapshot.valueを出力するたびに、コンソールで正しい結果が得られます。 else部分を削除すると動作します。私は本当に答えを見つけ出すのに苦労しています。前もって感謝します!コードは次のとおりです。
import UIKit
import Firebase
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
let loginButton: FBSDKLoginButton = {
let button = FBSDKLoginButton()
button.readPermissions = ["email"]
return button
}()
@IBOutlet weak var numField: UITextField!
@IBOutlet weak var answerField: UILabel!
@IBAction func enterButton(sender: AnyObject) {
matchNumber()
}
func matchNumber(){
let number: String = numField.text!
let numRef = Firebase(url: "https://npi2.firebaseio.com/num_details")
numRef.queryOrderedByKey().observeEventType(.ChildAdded, withBlock: { snapshot in
let network = snapshot.value as! String!
if snapshot.key == self.numField.text! {
self.answerField.text = network
}
else {
self.answerField.text = "Missing"
}
})
}
投稿したコードには「else」はありません。投稿されたコードを問題に関連する部分だけに絞り込んでください。 – rmaddy
私の悪い申し訳ありません。私はすでにそれを編集しました。ありがとうございます – asdf
'snapshot.key'と' self.numField.text! 'を印刷するとどうなりますか?あなたはスナップショットのキーと値について言及しましたが、 – Fonix