【问题标题】:How to safely unwrap an optional when filtering过滤时如何安全地解开可选项
【发布时间】:2020-07-09 17:14:41
【问题描述】:

目前我有一个使用 bam 运算符的 sn-p 代码,但需要解包:

 if let tagIds = location.tagIds, !filterSet.matchesTags(tagIds as! [String]) {
            return false
        }

我尝试使用警卫:

  guard  let tagIds = location.tagIds, let tapgIdsString = tagIds as? [String] else {return}, !filterSet.matchesTags(tapgIdsString) {
            return false
        }

但它会导致错误,“非空函数应该返回一个值”

【问题讨论】:

    标签: ios swift swift-optionals


    【解决方案1】:

    如果不知道所有内容是如何声明的,很难回答,但听起来你可以说

    if let tagIds = location.tagIds as? [String], !filterSet.matchesTags(tagIds)
    

    【讨论】:

    • 耶!我有点猜。 :)
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多