swift - 在 Swift 中将 Array<Any> 转换为 Array<Int>

标签 swift

我有一个名为时间戳的 Any 对象数组,其中第一个对象是字符串,其余对象是 Int。我想要的是,删除第一个元素并将数组的其余部分视为 Int 对象数组..

我试过:

let timestamps = xAxisData.dropFirst()
if let timestamps = timestamps as? Array<Int> { 
}

它编译,但它说 - Cast from 'ArraySlice<Any>' to unrelated type 'Array<Int>' always fails

我可能会遍历数组并创建新的临时数组并检查每个元素是否为 Int,但我认为有更好更简洁的方法吗?

最佳答案

您需要从 dropFirst 创建的 ArraySlice 创建一个 Array

let timestamps = Array(xAxisData.dropFirst())
if let timestamps = timestamps as? [Int] { 
}

关于swift - 在 Swift 中将 Array<Any> 转换为 Array<Int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147645/

相关文章:

ios - 有没有更好的方法来比较 Swift 中的错误?

ios - Swift 无法将类型 __NSInlineData 的值转换为 PFFile

swift - ARKit 图像检测方向

swift - 加载url图片

ios - 使用 Swift 在 iOS 媒体播放器上跳到索引号的项目...

ios - accessoryButtonTappedForRowWithIndexPath 不适用于自定义按钮或标签

ios - 如何从 HealthKit 运行锻炼中获取海拔增益、步频和运行配速?

ios - 如何更新 mapView 上 MKAnnotation 对象的位置?

ios - 无法加载底层模块 bmspush

ios - 如果秒 == 60,为什么我的分钟不会改变