2016-03-24 3 views
0

Я пытаюсь получить данные из базы данных firebase, если добавленное значениеByUser = значение, хранящееся в приложении.Извлечение данных из 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

«Получить данные, не сравнивая, если добавленByUser»? Не знаю, что это значит или пытается сказать. Кроме того, «данные о бомбардировке выглядят так», нет, это не так, и это тоже не полезно. Попробуйте https: // .firebaseio.com/path/to/data.json? Print = pretty и опубликуйте (или какую-то отфильтрованную версию). – Kato

ответ

1

Вот мое предположение основано на очень смутный вопрос с некоторыми вопросами кодирования:

CreatedBy этого имя пользователей или UID в виде строки.

Username.sharedInstance.userDetail является объектом (какой-то)

Таким образом, вы сравниваете строку в объект, который не является строкой, и это не будет работать.

Кроме того, если узел, который вы запрашиваете, является узлом/workout1, то, вероятно, вы должны назвать свою рабочую рабочую область 1Ref вместо workout3Ref. Это может помочь держать вещи в коде.

Смежные вопросы