我有一个数组(任何类型)与自定义对象列表(示例对象:车辆,停车场,摩托车)。
我需要使用特定类型过滤此数组:示例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
。