Typealias는 스위프트에서 타입의 새로운 이름을 지정할 수 있게 해주는 기능이다. 이를 통해 코드가 더 읽기 쉬워질 수 있으며, 복잡한 타입을 단순화하여 사용할 수 있다.
기본적인 사용방법은 다음과 같다.
typealias UserID = Int
이렇게 선언을 하게 되면 UserID는 Int와 동일한 타입으로 취급된다.
let id: Int = 123456
let id: UserID = 123456
위에서 선언된 2개의 변수는 같은 Int 타입이지만, 구분지어서 사용을 하거나, 가독성을 위해서 사용된다.
튜블에서도 이렇게 사용할 수 있다.
typealias UserTuple = (name: String, age: Int)
선언을 하고 나서는
let user: UserTuple = ("준영", 26)
이렇게 사용하면 된다.
보통 클로저를 CompletionHandler로 사용하는 경우가 많아서, 적용을 시켜봤다.
typealias CompletionHandler = (success: Bool, error: Error?) -> Void
이렇게 선언을 하고 나서, 함수의 매개변수로 사용할 수 있다.
func fetchData(completion: CompletionHandler) {
// ... 데이터를 가져오는 로직 ...
if /* 데이터를 성공적으로 가져왔다면 */ {
completion(true, nil)
} else {
let error: Error? = /* 에러 정보 */
completion(false, error)
}
}