Swift:具有特定类型的Any对象的过滤器数组

问题描述 投票:-3回答:1

我有一个数组(任何类型)与自定义对象列表(示例对象:车辆,停车场,摩托车)。

我需要使用特定类型过滤此数组:示例Vehicle。你能帮助我吗?

arrays swift filter
1个回答
4
投票

compactMapas?

let values: [Any] = [1, "string", 0.0, ["array values"]]

let strings = values.compactMap { $0 as? String } // ["string"]

确保尽快(一旦数据进入系统)这样做。例如,您不应该将[Any]作为类属性。如果您觉得自己需要,那么您可能错误地设计了数据模型,并且实际上需要枚举。 Any在Swift中不是一个合适的类型;它存在处理某些边缘情况,主要涉及Objective-C,以及非常特殊的情况,如print。如果你的意思是“绝对任何类型都没关系”,那么你不是指Any

© www.soinside.com 2019 - 2024. All rights reserved.