[iOS] typealias

Eugenie·2022년 8월 17일
0

typealias

기존에 존재하는 데이터 타입에 새로운 이름을 붙일 수 있는 기능이다.

typealias 가 정의되면
프로그램에 존재하는 타입을 대신하여 다른 이름을 사용할 수 있다.

새로운 타입을 생성하는 것이 아니라
원래 존재하는 타입의 이름을 바꾸는 '치환' 개념이다.

코드를 더 읽기 쉽고 명확하게 만드는 것이 목적인 기능이다.

Swift 에서는 typealias 를 대부분의 유형에 사용이 가능하고
크게 3가지 유형으로 나눠볼 수 있다.

🥏 내장 유형

typealias Name = String

Strint 타입을 Name 이라는 별칭으로 사용한다고 선언하였다.

let name: Name = "eugenie"

위에서 선언하였던 Name 이라는 별칭을 활용했다.
let name: String = "eugenie" 와 동일한 내용이다.

🥏 사용자 정의 유형

class Student {

}

student 라는 클래스를 선언하였다.

typealias Students = [Student]

위에서 선언한 student 라는 클래스를
Students 라는 Student 배열로 선안한다.

var students: Students = []

students 라는 변수를 Stucents 타입으로 초기화한다.

Students 라는 타입은
Array<Student>, [Student] 와 같다.

🥏 복합 유형

func test(completeHandler: (Void) -> (Void)) {

}

typealias voidHandler = (void) -> (Void)

함수 testcompleteHandler 라는 클로저를 선언하고
voidHandler 라는 별칭을 선언해주었다.

func test(completeHandler: voidHandler) {

}

위와 같이 클로저를 좀 더 깔끔하게 사용할 수 있다.

🍎 cf. AssociatedType

타입을 대신(지정) 해서 사용할 수 있다.
Equatable 을 준수하는 곳에서만 사용될 수 있으며 프로토콜에서 사용된다.

💡 AssociateType 은 타입을 담는 곳, typealias 는 변수를 담는 곳

📚 Reference
[Swift] typealias
[Swift] Typealias

profile
🌱 iOS developer

0개의 댓글