ios - append 字典,iOS,Swift

标签 ios dictionary append

我正在尝试编辑我创建的将文本发布到 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/

相关文章:

javascript - 为什么我不能在 Set 或 Map 上使用 Object.keys()?

c++ - 添加 vector

json - 在 TCL 中的字典中创建字典列表

ios - 如何在 iOS 7 中使用 iBeacons 获取设备详细信息,如 UUID 或设备名称

ios - Controller 中的 UIView 触摸事件

iphone - 披露三角形没有出现在我的 UITableViewCell 上

c# - 基于元组或嵌套的字典有好处吗?

jquery - 无法在 tbody 内追加数据

Java I/O : How to append to an already existing text file

IOS JSON 从 Mandrill 发送电子邮件