2016-05-22 3 views
1
var dataRef = FIRDatabase.database().reference() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    let users = dataRef.child("users") 
    users.queryOrderedByChild("Username").queryEqualToValue("notifactiontest").observeSingleEventOfType(.Value, withBlock: { snapshot in 
     print(snapshot) 

     if let token = snapshot.value["Users_Device_Token"] as? String{ <--- Error here. 


     // do some stuff once 
     } 

    }) 

Я пытаюсь получить токен FCM, связанный с каждым пользователем. Когда я распечатать маркер я получаю следующее:Неоднозначная ссылка на членский индекс

Snap (users) { 
    qIKBuX1IcIPdpMKml4Sh9MhIbPq1 =  { 
     "Display_name" = notifactiontest; 
     Username = notifactiontest; 
     "Users_Device_Token" = "FCMTOKEN"; 
     "Users_Id" = qIKBuX1IcIPdpMKml4Sh9MhIbPq1; 
    }; 
} 

Что я пробовал: Итерация корыта каждого ребенка и пытался имитировать IOS документы, предоставленные Firebase.

ответ

-1

value FDataSnapshot - это объект AnyObject. Это означает, что у него нет типа. Таким образом, вы не можете индексировать его (как в value["Users_Device_Token"]).

Вы, кажется, думаете, что ваш value - это словарь. Вы можете индексировать словарь. Но тогда в этой ситуации вы должны сказать Swift, что этот - это словарь - то есть, вы должны лить это как словарь, прежде чем пытаться его подстроить.

+2

Не могли бы вы передать какой-то образец кода, поскольку я пытался использовать как словарь без каких-либо успехов –

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