본문 바로가기
FRONT-END/iOS

Swift 중첩 타입 (Nested Types)

by 랄라J 2023. 8. 2.

중첩 타입

  • 타입 내부에 타입을 선언하는 것
  • 사용하는 이유
    • 특정 타입  내에서만 사용 (하위 타입은 상위 타입과 관계가 있어, 상위 타입 없이는 의미가 없는 경우 범위를 명확히 한정지음)
    • 타입 간의 연관성을 명확히 구분하고, 내부 구조를 디테일하게 설계할 수 있음
  • 사용 시에는 중첩타입 전체를 쓰거나 타입이 명확히 정의되어 있는 경우 타입추론이 가능해 줄여서 사용 가능함
class AClass {
  struct BStruct {
    enum CEnum {
      case aCase
      case bCase
      
      struct DStruct {
        
      }
    }
    
    var name: CEnum
  }
}

let aClass:AClass = AClass()
let bStruct:AClass.BStruct = AClass.BStruct(name: .bCase)
let CEnum: AClass.BStruct.CEnum = AClass.BStruct.CEnum.aCase
let dStruct:AClass.BStruct.CEnum.DStruct = AClass.BStruct.CEnum.DStruct()

 

반응형

'FRONT-END > iOS' 카테고리의 다른 글

iOS 앱이 만들어지는 원리 (Web과 비교)  (0) 2023.08.02
Swift의 self vs Self 이해하기  (0) 2023.08.02
Swift Method Dispatch  (0) 2023.08.01
Swift 프로토콜(Protocols)  (0) 2023.08.01
Swift 확장(Extensions)  (0) 2023.08.01

댓글