반응형

특정 Struct나 Class등 여러가지 타입들의 문자열 이름이 필요할때가 있습니다.
직접 타이핑하거나 type(of:) 등의 함수를 바로 사용해도 되지만 아래와 같이 프로토콜을 작성해서 사용하는 방법도 있습니다.

protocol TypeDescribable {
    var typeName: String { get }
    static var typeName: String { get }
}

extension TypeDescribable {
    var typeName: String {
        String(describing: type(of: self))
    }
    static var typeName: String {
        String(describing: self)
    }
}


struct MyData: TypeDescribable {
    var index: Int?
    var name: String?
}

let myData = MyData()
print(myData.typeName) // "MyData"
print(MyData.typeName) // "MyData"

 

반응형

'Swift > Tip' 카테고리의 다른 글

What’s new in Swift 5.8  (0) 2023.06.14
What’s new in Swift 5.9  (0) 2023.06.12
Array Extension  (0) 2023.05.08
What’s new in Swift 5.7  (0) 2022.08.08
What’s new in Swift 5.6  (0) 2022.03.21
Swift version과 Xcode version  (0) 2022.02.09
What’s new in Swift 5.5  (0) 2022.01.25
What’s new in Swift 5.4  (0) 2021.04.15
Posted by 까칠코더
,