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)
}
})
}
你的'post'看起来像什么.. – Dravidian