Swift/Tip
Type의 문자열 이름 사용하기
까칠코더
2022. 4. 1. 01:08
반응형
특정 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"
반응형