2016-03-24 28 views
0

addedByUser =アプリケーションに格納されている値の場合、firebaseデータベースからデータを取得しようとしています。FireBaseからのデータの取得SWIFT

私が現在持っているものは、テーブルに何も表示されません。

はfirebaseデータベースには、次のようになります。

workout1 "名前" "addedByUser"

私のコードは次のようになります。

workout3Ref.observeEventType(.Value, withBlock: { snapshot in 
      var newWorkout = [Workout1Info]() 
      for item in snapshot.children { 
       let createdBy = snapshot.value["addedByUser"] as? String 
       if createdBy == Username.sharedInstance.userDetail { 
        let workoutItem = Workout1Info(snapshot: item as! FDataSnapshot) 
        newWorkout.append(workoutItem) 
       } 
      } 
      self.workouts = newWorkout 
      self.tableView.reloadData() 
     }) 

私があれば比較することなく、正常にデータを取得しますaddedByUser通常動作します。誰もそれが動作していない理由を知っていますか?ヘルプ

+0

「addedByUserを比較しないでデータを正常に取得できますか?」それが何を意味するのか、何を言っているのかは分かりません。また、「火災ベースのデータはこのように見える」とは言えませんが、それは役に立ちません。 https:// .firebaseio.com/path/to/data.json?print = prettyを試してください。 – Kato

答えて

1

ため

おかげでここにいくつかのコーディングの問題とスーパー漠然と疑問に基づいて私の推測です:

CREATEDBYを文字列としてユーザー名またはuidです。

Username.sharedInstance.userDetailだから、あなたが文字列でないオブジェクトに文字列を比較して、それが動作しません(いくつかの種類の)オブジェクト

です。

また、照会しているノードが/ workout1ノードの場合は、workout3Refではなく参照workout1Refに名前を付けるべきです。これは物事をまっすぐに保つのに役立ちます。

関連する問題