이중옵셔널에 대하여 – Swift

Swift의 캐스팅 연산자인 as? 는 T 타입으로 캐스팅에 실행할 가능성을 내포하기 때문에 T? 타입을 만들게 된다. 이 때 변환하려는 값이 이미 옵셔널타입인 경우에는 nil이 아니면 T 타입으로 간주하여 최종 결과는 T??가 아닌 T?가 된다. var a: Any? = 8 if let x = a as? Int { // a는 Any?이면서 그 값이 Int 형으로 변환될

(Swift) 옵셔널 타입과 타입 캐스팅 패턴

as 연산자를 옵셔널과 함께 사용하는 경우 항상 캐스팅에 성공하는 것이 확실한 경우 (이는 컴파일러가 판단할 수 있다.) as를 사용한다. 예를 들어 NSString은 항상 String으로 변환가능하므로 as를 쓴다. let ns: NSString = “Good morning.” let st = ns as String