Мне нравится использовать что-то вроде flatMap, поэтому, независимо от того, находятся ли значения не-Int в массиве, они не учитываются в результирующем массиве.
let originalArray:[Any] = ["No int", 2, 3, "Also not int", 666, 423]
let intArray:[Int] = originalArray.flatMap { $0 as? Int }
print(intArray)
Напечатает это:
[2, 3, 666, 423]
Так что в вашем случае вы могли бы сделать что-то вроде:
let timestamps = xAxisData.flatMap { $0 as? Int }
Как сказал Стив Мэдсен в комментарии ниже, если вы используете Swift 4.1 или новее, Apple рекомендует использовать compactMap
для избавления от необязательных nils, так что конкретное использование flatMap
не рекомендуется.
let timestamps = xAxisData.compactMap { $0 as? Int }