2016-11-17 15 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

私のコードでも同じエラーが発生しましたが、それを分かりました。 [String : String?]の代わりにvalues[String : String]のタイプであることを確認してください。

関連する問題