我有一个包含自定义对象列表的数组(任何类型)(示例对象:车辆、停车场、摩托车)。
我需要用特定类型过滤这个数组:example 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.