微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数组 – 检查Swift Dictionary是否包含无值?

所以我正在创建一个待办事项列表应用程序,我希望在删除所有购物项目时通知用户.我有一个字典,其中包含String:store作为键,[String]:items作为值.有没有快速方法来检查所有项目的数组是否为空?
有简单的方法
dicts.values.flatten().isEmpty

但是,这将在没有任何快捷方式的情况下遍历所有列表.通常这不是问题.但是如果你想在找到一个非空的时候拯救:

func isEmptyLists(dict: [String: [String]]) -> Bool {
    for list in dicts.values {
        if !list.isEmpty { return false }
    }
    return true
}

当然,你可以使这更加通用,以获得短切和方便:

extension SequenceType {
    func allPass(passpredicate: (Generator.Element) -> Bool) -> Bool {
        for x in self {
            if !passpredicate(x) { return false }
        }
        return true
    }
}

let empty = dicts.values.allPass{ $0.isEmpty }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐