0
에 나는 현재 유형 신속하고이[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]
]
그러나 다음 코드로 때우기에 나는 [Any]
배열에 옵션 Double
값을 추가하려고 할 때 "모든", 신속 컴파일러는 표시를 배우고
//expression implicitly coerced from Double? to Any
을 알리는 경고가 나는 모든 것을 포함 할 수있는 모든 입력 [Any]
의 배열을 나타낼 수있는 유형 Any
생각했다. 그럼 경고 메시지는 왜?
설명해 주셔서 대단히 감사합니다. 나는이 질문에 대한 후속 질문이나 자신의 게시물에 합당한 지 모르겠다.하지만 switch 문을 체크하고 [Any] 안의 객체가 선택적인 Double인지 알아보기 위해 무엇을 써야 하는가? 유형? – Thor
매우 어렵습니다. 그게 바로 당신이 그 일을하지 말라고 경고 한 이유입니다! – matt
오, 다시 친절 도움을 주셔서 감사합니다! – Thor