같은 프로퍼티를 가지고 있는 구조체를 서로 다른 이름으로 사용하고 싶을 때 typealias
선언
typealias
를 통해 다른 이름의 구조체를 선언, 데이터를 변경 가능typealias TVModel = MovieModel
import SwiftUI
struct MovieModel {
let title: String
let director: String
let count: Int
}
typealias TVModel = MovieModel
struct TypealiasBootComp: View {
@State private var item = TVModel(title: "Dark Knight", director: "Christoper Nolan", count: 5)
// Differenc Types -> Write Data Redundantly!
var body: some View {
VStack {
Text(item.title)
Text(item.director)
Text("\(item.count)")
}
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
item = MovieModel(title: "Batman Begins", director: "Christoper Nolan", count: 5)
}
}
}
}
TVModel
로 생성된 item
은 MovieModel
이 된다. typealias
로 선언된 두 구조체가 동일하기 때문