【问题标题】:iOS Firebase -When Fanning Out -'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''iOS Firebase - 当扇出 -'InvalidPathValidation',原因:'(child :) 必须是非空字符串并且不包含'。' '#' '$' '[' 或 ']''
【发布时间】:2019-06-07 12:41:44
【问题描述】:

我正在向不同的裁判发送数据。当我第一次发布以下代码时,一切正常。然后我再次使用相同的 postId 重新发布代码,它再次正常工作。

let root: DatabaseReference!
let uid = gHcqsRzK0xZJ3Zp11xAikDTKIKw2 // Auth.auth().currentUser?.uid

root = Database.database().reference()

let postId = "123"
let postsRef = "posts/\(uid)/\(postId)"
let usesrRef = "users/\(uid)/\(postId)"

let dict = [String: Any]()
dict.updateValue(someOtherDict, forKey: postsRef)
dict.updateValue(someOtherDict, forKey: usersRef)

root.updateChildValues(dict, withCompletionBlock: { [weak self] (error, ref) in

但是,当我尝试相同的确切代码并将一个额外的孩子附加到扇出参考时,第一次一切正常,第二次尝试再次重新发布时,我不断收到错误

'InvalidPathValidation', reason: '(child:) 必须是非空字符串 并且不包含'.' '#' '$' '[' 或 ']''

let postId = "123"
let additionalUid = "456"
let postsRef = "posts/\(uid)/\(postId)/\(additionalUid)"
let usesrRef = "users/\(uid)/\(postId)/\(additionalUid)"

我已经检查了几个小时(打印语句和调试器),并且 uid、postId 和 additionalUid 都包含任何无效字符。

为什么这个问题只会在扇出并附加一个额外的孩子到 ref 时出现?

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    尝试修复您的 uid,使其看起来像这样

    guard let uid = Auth.auth().currentUser.uid else { return }
    

    【讨论】:

    • 我已经检查了好几个小时,这不是我的 uid,即使它是它也会崩溃,因为它被强制解开。我忘了添加uid部分
    • 我建议您将实际的、完整的、最少的代码复制并粘贴到问题中,而不是对其进行一些估计。硬编码尽可能多的值。
    • @DougStevenson 这是一大堆代码,因为字典有多个值(我已经全部检查过了)并且还有 3 个其他参考。我注释掉了所有不必要的内容,并放入了您在上面看到的实际 foo 值(“123”和“456”),只有当我添加这些值或它们的任何变体时它才会崩溃。一旦我删除它们,它就可以正常工作。这很奇怪,因为它只发生在他们身上。
    • @LuisFRamirez 我忘了在问题中添加它,在我的实际代码中它就在那里。它不是 uid,因为它永远不会起作用。感谢您的建议
    • @LanceSamaria 没问题,您忘了在问题中添加一些内容。单击它下面的edit 链接,然后添加硬编码的UID,您可以使用它来重现问题。请阅读how to create a minimal, complete, verifiable example 以获取更多提示。拥有一个独立的复制品将使我们中的一个人更有可能发现问题所在。
    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    相关资源
    最近更新 更多