2016-11-17 78 views
1

全部,我在使用我正在開發的Firebase驅動應用程序時遇到了一些問題。問題出現後升級我的xCode到版本8.我已經做了一些廣泛的研究,並通過一些Stackoverflow主題試圖解決這個問題,因爲它似乎是一個非常常見的錯誤。我收集到的信息可能是我失蹤的超級明顯的東西,請原諒我的愚蠢。無法在名稱處存儲_SwiftValue類型的對象。只能存儲NSNumber,NSString,NSDictionary和NSArray類型的對象。'

這是我收到的錯誤。

無法在名稱處存儲_SwiftValue類型的對象。只能存儲NSNumber,NSString,NSDictionary和NSArray類型的對象。'

這是我發現的代碼段,我相信。

func saveUser(withUID uid: String, username: String, value: [String: String?], completion: @escaping (Error?) -> Void) { 
     let values = ["https://stackoverflow.com/users/\(uid)": value, "/usernames/\(username)": uid] as [String: Any] 
     root.updateChildValues(values) { (error, _) in 
      completion(error) 
     } 
    } 

    func updateUser(_ newValue: [String: String?]) { 
     currentUser.updateChildValues(newValue) 
    } 

    // MARK: - Posts 

    func createPost(_ _post: [String: String]) { 

     let userUID = Auth.shared.currentUserUID 
     let key = posts.childByAutoId().key 

     var post = _post 
     post["userUID"] = userUID 

     // get current user's username 
     currentUser.child("username").observeSingleEvent(of: .value, with: {  snapshot in 
      if let username = snapshot.value as? String { 
       post["username"] = username 
       let values = [ 
        "/posts/\(key)": post, 
        "/user-posts/\(userUID)/\(key)": post 
       ] 
       self.root.updateChildValues(values) 
      } 
     }) 

    } 
+0

你的'post'看起來像什麼.. – Dravidian

回答

0

我在代碼中得到了同樣的錯誤,只是想通了。確保values[String : String]而不是[String : String?]的類型。

相關問題