Zunächst einmal ich jemand danken möchte die Zeit nehmen, um mir zu helfen :)Anfügen neues Objekt aus verschiedenen View-Controller erstellt performsegue
Hier ist die Struktur verwendet, um Objekte für meine Array zu erstellen.
struct cellData {
let workoutName : String!
let workoutSets : Int
let workoutReps : Int
}
Dann ein Array gebildet aus Celldata
var workoutArray = [cellData]()
im Grunde in meiner MainScreen.swift rief ich eine neue Variable, die die Daten aus der performsegue Funktion übergeben halten
var passedData = cellData(workoutName: "", workoutSets: 0, workoutReps: 0)
Dann In meinem CreateWorkout.swift habe ich angegeben, was vor einem Übergang passieren soll. In diesem Fall setze ich den Ziel-View-Controller und eine neue Konstante, die ein neues Objekt aus der Struktur erzeugt und passedData gleich dem Wert der UI-Elemente in meinem View-Controller setzt.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let workout = cellData(workoutName: workoutName.text, workoutSets: Int(setStepper.text!)!, workoutReps: Int(repStepper.text!)!)
let destinationVC = segue.destination as! MainScreen
destinationVC.passedData = workout
}
Here is the app when I build the app
Dann legte ich Chest Press in meinem Textfeld
Stellen Sie den Set Stepper bis 4
die Rep Stepper Set zu 5
Ich möchte in der Lage sein, ein neues o anzuhängen bject jedes Mal, wenn ich segue, aber stattdessen ersetzt es nur das aktuelle Objekt :(
Ich bin ein bisschen verwirrt - was hast du danach mit 'cellData'? Woran denken Sie, dass es angehängt wird? – Michael
@Michael Ich benutze nur ein bisschen wie eine Klasse und benutze es dann, um ein Array aus den Objekten zu machen, die ich damit mache. –
Ich denke, was Sie tun sollten, ist eine Datenquelle für Ihre MainScreen und wann immer Sie eine neue DataCell erstellen, sollten Sie die DataSource für den Hauptscreen aktualisieren und Tabellenansicht dort neu laden – 3stud1ant3