[swift] 25. typealias 별칭

RudinP·2023년 9월 23일
0

Study

목록 보기
43/227

사용 목적

  • 길어져서 가독성이 떨어지는 코드를 간결하게 하기 위함

사용 가능 범위

  • 자료형
  • 프로토콜
  • 클래스
  • 스트럭트
  • 클로저
  • etc

자료형

typealias Friends = [Friend]()

var myArray = Friends()

프로토콜

protocol Naming{
	var name: String
    func getName()->String
}
protocol Aging{
	var age: Int
    func getAge()->Int
}

typealias Friendable = Naming & Aging

스트럭트(클래스도 동일)

struct Friend : Friendable{
	var name: String
    var age: Int
    func getName()->String{
    	return self.name
    }
    func getAge()->Int{
    	return self.Age
    }
}

typealias NewFriend = Friend

var newFriend = NewFriend()

클로저

typealias StringBlock = (String)->Void

func sayHi(completion: StringBlock){
	print("안녕하세요?")
    completion("오늘도 빡코딩 하고 계신가요?")
}

sayHi(completion: {result in print(result)})

enum

class Animal{
	enum AnimalType{
    	case DOG
        case CAT
        case BEAR
    }
    
    var type: AnimalType
    ..(생략)
}

typealias AnimalType = Animal.AnimalType

var animal = Animal()
animal.type = AnimalType.DOG //원래라면 Animal.AnimalType.DOG
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글