[iOS] Any와 Type Casting

RudinP·2024년 2월 24일
0

Study

목록 보기
178/227

toll-free bridged type

공식 문서에서 타입을 보다보면 NS로 시작하는 타입들이 있다.

  • 이 타입은 Objectiv-C에서 넘어온 타입으로, 클래스 로 구현되어 있다.
  • 해당 타입에서 NS를 제외한 이름을 가진 타입은 Swift에서 추가된 타입인데, 이들은 구조체 로 구현되어있다.
  • as 로 타입 캐스팅을 통해 호환가능하다.
  • 이러한 호환성이 있는 타입을 toll-free bridged type이라고 부른다.

Any

  • 저장 용도로만 사용
  • 설령 String이 저장되어있다고 해도, .count와 같은 값을 읽는 기능은 사용할 수 없다.

is

  • 이항연산자로, type check operator라고 한다.
  • 컴파일 타임

as

  • 이항연산자로, type conversion 에 사용
  • 컴파일 타임

Forced Cast

as!

  • 실패하면 크래시로, 사용하지 않는 것이 좋다.
  • 런타임

Conditional Cast

as?

  • 타입 컨버전이 실패하면 nil 리턴.
  • 따라서 리턴값은 옵셔널 타입으로 받아야 한다.
  • 런타임
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글