附加从不同视图控制器创建的新对象执行

时间:2017-08-03 03:04:39

标签: ios arrays swift segue

首先,我要感谢任何人花时间帮助我:)

以下是用于为我的数组创建对象的结构。

struct cellData {
    let workoutName : String!
    let workoutSets : Int
    let workoutReps : Int
}

然后用cellData

制作一个数组
var workoutArray = [cellData]()

基本上在我的MainScreen.swift中我调用了一个新变量来保存从performsegue函数传递的数据

var passedData = cellData(workoutName: "", workoutSets: 0, workoutReps: 0)

然后在我的CreateWorkout.swift中,我指定了在segue之前应该发生什么。在这种情况下,我设置了目标视图控制器和一个新常量,它将从结构中创建一个新对象,并将passedData设置为等于视图控制器中UI元素的值。

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

然后我将Chest Press放入我的文本字段

将Set Stepper设置为4

将Rep Stepper设置为5

It works right? Wrong!

我希望每次离开时都能附加一个新对象,而只是替换当前对象:(

1 个答案:

答案 0 :(得分:0)

对于tableview应该有一个数据源,所以创建一个新的数据源,每次创建一个新的数据单元只需将它附加到这个dataSource,这将确保你在MainScreen中获得一个对象列表。