我正在尝试编辑我创建的将文本发布到 firebase 的代码。我最初只允许 8 张图片和描述,不多也不少。我现在正在重构,因此用户可以选择最多 8 个数字。我检查了照片的工作情况,并上传了选择的数量。我已经检查是否有图片,如果有,将显示文本框以添加描述,否则它会被隐藏。我的问题是我有一个发布到 firebase 的字典,它发布了 8 个描述,所以如果我要创建 2 个,它将用“”填充其他 6 个,有没有办法检查图像是否像我上面那样是 nil 然后它添加到要上传的字典中。我的功能如下..
func postToFirebase() {
let post: Dictionary<String, AnyObject> = [
"photoInfo1": photoInfo1.text as AnyObject,
"photoInfo2": photoInfo2.text as AnyObject,
"photoInfo3": photoInfo3.text as AnyObject,
"photoInfo4": photoInfo4.text as AnyObject,
"photoInfo5": photoInfo5.text as AnyObject,
"photoInfo6": photoInfo6.text as AnyObject,
"photoInfo7": photoInfo7.text as AnyObject,
"photoInfo8": photoInfo8.text as AnyObject
]
let firebasePost = DataService.ds.REF_BASE.child("posts").child("\(stringPassed)")
firebasePost.updateChildValues(post)
}
我在此之前为隐藏框所做的检查是..
if passImage2 == nil {
photo2.isHidden = true
photoInfo2.isHidden = true
}
等等。
我希望我可以检查照片是否不为零,如果是,则 append “post”字典而不是将它们全部编码。
最佳答案
如果您不需要照片信息连续编号,您可以使用
let filtered = post.filter { (key, value) -> Bool in
guard let stringValue = value as? String else { return false }
return stringValue != ""
}
如果你需要它是连续的,你可以过滤一组标签文本,然后使用枚举和减少,你可以创建一个新的字典。
关于ios - append 字典,iOS,Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45251114/