Swift:过滤具有特定类型的任意对象的数组



我有一个数组(任意类型(,其中包含自定义对象列表(例如对象:车辆、停车场、摩托车(。

我需要用一个特定的类型来过滤这个数组:example Vehicle。你能帮我吗?

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

最新更新