본문 바로가기

IT/Swift

[swift] Wildcard, Nested Types

[swift 기초문법] - 와일드카드(Wildcard), 타입 중첩(Nested Types)

와일드카드란 

언더바 '_' 로 표현을 합니다.

와일드카드를 사용하는 곳의 값은 무시된다는 뜻입니다.

swift문, for-in문,  closure 등 곳곳에서 사용됩니다.

 

swift 구문에서 와이들카드 사용예

let value = 0

swift value {

  case _: print(value) //이렇게 쓰이게되면 value가 어떤 값이라도 해당 case문이 항상 실행됩니다.

}

 

let tupleValue = ("sample", 999, "A")

swift tupleValue {

  case ("sample", _, _): print("sample tuple") //튜플의 맨 처음 값이 sample이면 실행됩니다.

  case (_, _, _): print("첫번째 case문 외 다른 경우에 전부 실행됩니다.")

}

 

클로저의 와일드 카드 사용의 예

typealias completionBlock = (Bool, String) -> Void

func parsing(url: String, completion: @escaping completionBlock) {

  completion(false, "resultString")

}

parsing(url: addr_update){ _, _ in  //이런식으로 사용하지 않을 값을 와일드카드로 표시할 수 있습니다.

}

 

for문에서의 와일드 카드 사용의 예

for _ in numbers {

}

 

 

 

 

 

타입중첩이란

타입 내부에 새로운 타입을 정의해준것입니다.

 

class Student {

  enum Level {

     case low, mid, high

  }

  var level: Level = .mid

}

 

위처럼 중첩타입을 사용할 경우에는 속해 있는 타입의 이름을 앞에 적어줘야합니다.

Student.Level

 

 

 

 

#swift 기초

#swift 강의

#ios programming