我有一个带有自定义对象(示例对象:Vehicle,Parking,Motorbike)列表的数组(任何类型)。
我需要使用特定类型过滤此数组:例如Vehicle。你能帮助我吗?
与compactMap和as?:
let values: [Any] = [1, "string", 0.0, ["array values"]]
let strings = values.compactMap { $0 as? String } // ["string"]
Run Code Online (Sandbox Code Playgroud)
确保尽快执行此操作(一旦数据进入系统)。例如,您不需要[Any]作为类属性。如果您认为需要,则可能是您错误地设计了数据模型,并实际上想要一个枚举。Any在Swift中不是正确的类型;它可以处理某些边缘情况,主要涉及Objective-C,以及非常特殊的情况,例如print。如果您不是要表示“在这里绝对可以使用任何类型”,那么您就不是要表示Any。