2017-05-19 7 views
1
Firebaseで

3.0+データベース参照を取得する方法は、次のようなだった:Firebase 4.0で新しいFirebase 4.0リリースでは、データベースの参照を取得します

var ref: FIRDatabaseReference! 

ref = FIRDatabase.database().reference() 


ref.child("rooms").observeSingleEventOfType(.Value, withBlock: { (snapshot) in 

    if snapshot.hasChild("room1"){ 

     print("true rooms exist") 

    }else{ 

     print("false room doesn't exist") 
    } 

}) 

は、命名規則が変更されますが、私はそれを得ることができません作業!?

var ref: DatabaseReference!  
ref = Database.database().reference() 

他に誰かがこれを遭遇しましたか?あなたはそれを削除した場合

迅速コンパイラは小文字のデータベース関数呼び出し

から()を取り除く示唆され、それは、エラーメッセージがスローされます。

  • データベースにはメンバ参照
を持っていません

それでは、どのようにリファレンスを取得しますか?

ポッドファイル:

pod 'Firebase/Core' 
pod 'Firebase/Database' 

答えて

1

あなたはおそらく、コンパイラがコードを、あなたが見ることができるように修正

var ref: DatabaseReference! 

ref = Database.database().reference() 

ref.child("rooms").observeSingleEvent(of: .value, with: { (snapshot) in 

    // ... 

    }) 

を示唆する良い仕事をしていない、更新コードを使用する必要があります完璧に動作し、pod deintegrate & pod update

enter image description here

を考えます
+0

:ref = FIRDatabase.database()。reference()initリファレンスの設定に失敗したときの残りのコードとは何の違いもありません。 – iosforme

+0

前に 'ref'を宣言しましたか? – Mentos

+0

@iosforme、どのようなエラーが表示されますか?上記のコードを使って試してみてください... – Mentos

0

あなたの構文は(new Firebase 4のために)私には右のようだ:their source code (FIRDatabase.h)を見て、

var ref: DatabaseReference!  
ref = Database.database().reference() 

そして、すべてあなたがやっている試合完全

FIR_SWIFT_NAME(Database) 
@interface FIRDatabase : NSObject 

+ (FIRDatabase *) database FIR_SWIFT_NAME(database()); 

- (FIRDatabaseReference *) reference; 

あなたは必ずあなたがされています最新のSDKバージョン?最後の手段として、これを試してみてください。Firebase 4.0の

pod cache clean 
rm Podfile.lock 
rm -rf Pods 
pod install 
rm -rf DerivedData 
+0

ポッドをインストールした後の状態firebase(4.0.0) – iosforme

+0

私のポッドファイルから抽出を追加しました – iosforme

+0

BTWはDatabase.database()上の()を削除することを提案している理由は、 function 'Database' – iosforme

2

firebaseドキュメントを更新する必要があります。 1。クラスの上部にこれらの両方をインポート

import FirebaseCore 

import FirebaseDatabase 
DB参照のみのviewDidLoad()のviewDidLoad FUNC

オーバーライド(){

内で動作取得
    1. super.viewDidLoad() 
      var ref: DatabaseReference! 
      ref = Database.database().reference() 
      } 
      
  • 関連する問題