Hello,
Tortoises:
class Tortoises: ObservableObject {
@Published var items = [Tortoise]()
}
say I have this array:
struct Tortoise: Equatable, Codable, Hashable {
var hibernations = [Hibernation]()
var name: String
var age: Int
}
and a hibernation struct
struct Hibernation: Equatable, Hashable, Codable {
var name: String
var startDate: Date
var endDate: Date
}
aswell as an add view here:
struct AddHibernationView: View {
@Environment(\.presentationMode) var presentationMode
@ObservedObject var tortoises: Tortoises
@State private var name = ""
@State private var involved = ""
@State private var startDate = Date()
@State private var endDate = Date()
@State private var showEnd = false
@State private var length = 0
@State private var Index = 0
var disabled: Bool{
if (name.isEmpty){
return true
}
return false
}
var body: some View{
ZStack{
Color(.gray)
.ignoresSafeArea()
VStack{
Form{
Section{
TextField("Name of Hibernation", text: $name)
Picker("Involved Tortoise", selection: $involved){
ForEach(tortoises.items, id: \.name){ item in
Text(item.name)
}
}
}
Section{
DatePicker("Start Date:", selection: $startDate, displayedComponents: .date)
Toggle("Hibernation Ended", isOn: $showEnd.animation())
if (showEnd){
DatePicker("End Date", selection: $endDate, displayedComponents: .date)
}
}
}.cornerRadius(30)
.padding(60)
}
How would I add elements to the hibernations Array in the Tortoise struct? preferably from all of the variables the addview changes?
Thankyou in advance!