对多种类型使用防护

斯米什科

我从服务器获取数据,其中一个值可以是NSDictionary[NSDictionary]我想知道是否可以使用新的Swiftguard检查这两种类型。这就是我现在正在做的:

guard let list = response["answer"] as? [NSDictionary] else {
    return nil
}

但是我想要这样的东西:

guard let list = response["answer"] as? [NSDictionary] || let list = response["answer"] as? NSDictionary else {
    return nil
}

我不想使用if-let,因为我真的很喜欢新语法。有什么办法可以做到这一点guard

瓦迪安

我建议分开检查可用性和类型。

首先检查密钥是否存在

  guard let list : AnyObject = response["answer"] else {
    return nil
  }

然后检查类型

if list is NSDictionary {
  print("is dictionary")
} else if list is [NSDictionary] {
  print("is array of dictionary")
} else {
  fatalError("that should never happen")
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用相同的身份验证防护来验证多种类型的用户[流明]

来自分类Dev

使用GSON解析多种类型的json

来自分类Dev

返回多种类型

来自分类Dev

多种类型的边界

来自分类Dev

在多种类型的近邻搜索中使用Google Maps API

来自分类Dev

在Elasticsearch php API中使用多种类型或索引

来自分类Dev

在C#中跨多种类型使用列表

来自分类Dev

使用gson解析JSON数组中的多种类型

来自分类Dev

如何使用AJAX POST方法发送多种类型的值?

来自分类Dev

领域-如何使用多种类型的对象构建供稿?

来自分类Dev

如何使用picocli处理多种类型的期权

来自分类Dev

如何使用Unity按名称注册多种类型?

来自分类Dev

在C#中跨多种类型使用列表

来自分类Dev

领域-如何使用多种类型的对象构建供稿?

来自分类Dev

如何使用RTypeProvider创建多种类型的数据框

来自分类Dev

使用 binary_function 和多种类型减少推力

来自分类Dev

使用套接字同时发送多种类型

来自分类Dev

一起使用多种类型的过滤器

来自分类Dev

多种类型的扩展方法

来自分类Dev

遍历多种类型的输入

来自分类Dev

转换多种类型的日期

来自分类Dev

多种类型的通用约束

来自分类Dev

for循环中的多种类型

来自分类Dev

类属性的多种类型

来自分类Dev

加载多种类型的UITableViewCell

来自分类Dev

合并多种类型的排序

来自分类Dev

Haskell 中的“多种类型”

来自分类Dev

跨多种类型的ElasticSearch NEST查询

来自分类Dev

Java多维数组上的多种类型