2017-01-10 10 views
0

firebaseのデータをCompanyオブジェクトの配列にロードしようとしていますが、 printステートメントを使って、私はviewDidLoadメソッドとobserveメソッドが呼び出されていないことに気付きました。 firebaseのテキストの束を除いて、コンソールには何も印刷されません(つまり、「Firebase自動画面レポートが有効になっています...」)。firebaseビューコントローラが呼び出されず、コンソールに何も出力されないということをViewdidloadとobserveメソッドを参照してください。

import UIKit 
import FirebaseDatabase 

class Information: UIViewController { 

var ref:FIRDatabaseReference? 
var databaseHandle:FIRDatabaseHandle? 
var companiesInformation = [Company]() //holds name, booth, image 

override func viewDidLoad() { 
    super.viewDidLoad() 
    print("viewDidLoad was called") 

    //Set firebase database reference 
    ref = FIRDatabase.database().reference() 

    // Retrieve posts and listen for changes 
    databaseHandle = ref?.child("companies").observe(.childAdded, with: { (snapshot) in 
     // Code that executes when child is added 
     let company: Company = Company() 
     company.name = snapshot.value(forKeyPath: "name") as! String 
     self.companiesInformation.append(company) 
     print("databaseHandle was called") 
    }) 
} 
} 

ココアポッドを使用してFirebaseとFirebaseリアルタイムデータベースをダウンロードした後、私は私のアプリの委任にFirebaseコードの2つの、必要な部分を追加し、私のアプリは、エラーなしで実行されます。私は唯一のように2回の黄色の警告を以下に示している:

enter image description here

なぜデータベースが動作していないと、なぜ何も印刷がコンソールにありますか?

+0

Firebaseデータベースを使用している場合、インポートはFirebase *をインポートする必要があります。また、デリゲートdidFinishLaunchingWithOptions funcでは、FIRApp.configure()が必要です。あなたのviewControllerクラスでviewDidLoadメソッドが呼び出されていない場合、Firebaseと無関係なコードのどこかに問題があります。 databaseHandleは必要ないかもしれません。残りのコードに依存します。問題のエラーは、PodFileが正しく設定されていないか、またはCocoaPodが古くなっていることが原因です。質問に追加してみてください。ホウ – Jay

答えて

0

愚かな間違いでした。私は、私のアプリを構築したときに私が情報ビューコントローラと呼んでいないことに気づいたので、viewDidLoadメソッドは呼び出されていなかったので、何も印刷されませんでした。

関連する問題