我从服务器获取数据,其中一个值可以是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] 删除。
我来说两句