如何使用来自另一个视图控制器swift的用户输入创建具有表视图单元格的列表

时间:2015-10-16 05:09:37

标签: ios swift uitableview uiviewcontroller

我正在使用具有两个场景的Swift制作iOS应用。一个请求用户输入并保存在一个数组中。我试图在另一个场景中创建一个包含表格视图单元格的列表,该列表包含用户点击保存按钮时保存的用户输入。

尝试在单独的文件中创建一个sharedData类,尝试了这个:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "segueTest") {
        var svc = segue!.destinationViewController as! goalViewController
        svc.toPass = textInput
    }
}

(均来自其他stackoverflow问题)

2 个答案:

答案 0 :(得分:0)

尝试将阵列保存到NSUserDefaults中,然后在新视图中调用您在NSUserDefaults中保存的对象。

答案 1 :(得分:0)

- 使用Delegate是首选方式之一

示例:

protocol PExposeArrayDelegate: class
{
   func getArrayOfItems(array: String)
}


class CustomArray
{

// delegate property to expose array to the view-controller
    internal weak var delegateForTimeLineCell: PExposeArrayDelegate?


internal func createArray()
{
    let arr = ["Vivek","India","Audi"]

     delegateForTimeLineCell.getArrayOfItems(array: arr)
}

}

现在,在要访问阵列的类中,执行以下操作:

- 符合上面定义的protocol(代表)

- self分配给delegate

- 实施delegate method,然后从内部访问数组。

Check the example here