제네릭 : 타입에 의존하지 않는 범용 코드
import SwiftUI
struct Mygeneric: View {
@State var input = ""
@State var myStack = MyStack<Int>() //Int, Float, String 등을 입력 하여도 문제 없다.
var body: some View {
VStack{
TextField("숫자를 입력해주세요" , text: $input)
Button{
myStack.insertValue(input: Int(input) ?? 0 )
input = ""
} label: {
Text("Save")
}
Button{
myStack.showData()
} label: {
Text("Print")
}
}
}
}// Mygeneric
// MyStack 타입을 <T> 로 지정 하여 임의로 받을 수 있다.
struct MyStack<T> {
var data: [T] = []
mutating func insertValue(input: T){
data.append(input)
}
func showData(){
data.forEach { item in
print(item)
}
}
}
#Preview {
Mygeneric()
}
'iOS > Swift' 카테고리의 다른 글
Swift Stat 와 Binding (0) | 2024.07.08 |
---|---|
Swift Hashable Protocol (0) | 2024.07.08 |
Switft Day_10 (0) | 2024.07.06 |
Swift Day_09 (0) | 2024.07.06 |
Swift Day_08 (0) | 2024.07.05 |