2016-04-21 5 views
0

Я пытаюсь составить список всех моих пользователей из Firebase с их именем пользователя.Сделать список пользователей firebase

This is how my users is saved.

Моя проблема заключается в том, что я пытаюсь сделать массив всех пользователей.

import UIKit 
import Firebase 

var memberRef = Firebase(url: "\(BASE_URL)/users") 
//var currentUser = DataService.dataService.USER_REF.authData.uid 



var currentUsers: [String] = [String]() 

class dataTableView: UITableViewController 
{ 

    override func viewDidLoad() 
    { 
     loadUsers() 
    } 

    func loadUsers() 
    { 
     // Create a listener for the delta additions to animate new items as they're added 
     memberRef.observeEventType(.ChildAdded, withBlock: { (snap: FDataSnapshot!) in 

      print(currentUsers) 

      // Add the new user to the local array 
      currentUsers.append(snap.value as! String) 

      // Get the index of the current row 
      let row = currentUsers.count - 1 

      // Create an NSIndexPath for the row 
      let indexPath = NSIndexPath(forRow: row, inSection: 0) 

      // Insert the row for the table with an animation 
      self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Top) 

     }) 
    } 

Но я получаю ошибку, отличную от типа NSDictionary, для NSString.

+0

Пожалуйста вставьте структуру Firebase как текст, а не картинки. Вы можете получить это, используя кнопку «Экспорт» в панели мониторинга Firebase. Текст заставит нас отказаться от повторного ввода структуры в ответ. – Jay

ответ

1

Снимок Firebase - это словарь, а не строка, поэтому вы получаете эту ошибку.

Для доступа к элементам снимка:

if let name = snapshot.value["name"] as? String { 
    print(name) 
} 

вы также можете использовать

if let name = snapshot.value.objectForKey("name") as? String { 
Смежные вопросы