Swift:具有特定类型的Any对象的过滤器数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift:具有特定类型的Any对象的过滤器数组相关的知识,希望对你有一定的参考价值。
我有一个数组(任何类型)与自定义对象列表(示例对象:车辆,停车场,摩托车)。
我需要使用特定类型过滤此数组:示例Vehicle。你能帮助我吗?
答案
与compactMap
和as?
:
let values: [Any] = [1, "string", 0.0, ["array values"]]
let strings = values.compactMap { $0 as? String } // ["string"]
确保尽快(一旦数据进入系统)这样做。例如,您不应该将[Any]
作为类属性。如果您觉得自己需要,那么您可能错误地设计了数据模型,并且实际上需要枚举。 Any
在Swift中不是一个合适的类型;它存在处理某些边缘情况,主要涉及Objective-C,以及非常特殊的情况,如print
。如果你的意思是“绝对任何类型都没关系”,那么你不是指Any
。
以上是关于Swift:具有特定类型的Any对象的过滤器数组的主要内容,如果未能解决你的问题,请参考以下文章
上下文类型 'Any' 不能与数组文字 Swift 3 一起使用