Я в настоящее время обучение типа «Любой» в быстрой и придумали следующий кодДобавление необязательного значения в [Any], получено предупреждение о компиляторе - выражение, неявно принудительное из Double? на любой
let optionalDouble: Double? = 45.1
let things: [Any] = [
0,
0.0,
1.1,
optionalDouble, //expression implicitly coerced from Double? to Any
-4.0,
("hello", 1),
Movie(name: "Titanic", director: "James"),
{(name: String) -> String in
return "hello \(name)"
},
{},
["one": 1, "two": 2]
]
Однако, когда я попытался добавить дополнительный Double
значение в [Any]
массив, отображаемый быстрым компилятором предупреждение о говоря
//expression implicitly coerced from Double? to Any
Я думал, тип Any
может представлять все и массив типа [Any]
может содержать все. Так почему предупреждение?
спасибо, что получил. Я не уверен, что это считается последующим вопросом или заслуживает отдельного поста, но что мне следует писать, когда я хочу проверить оператор switch, чтобы выяснить, есть ли внутри объекта [Any] дополнительный Double тип? – Thor
Это очень сложно. Именно поэтому они предупреждают вас об этом! – matt
О, хорошо, еще раз спасибо за вашу любезную помощь! – Thor