我正在使用具有两个场景的Swift制作iOS应用。一个请求用户输入并保存在一个数组中。我试图在另一个场景中创建一个包含表格视图单元格的列表,该列表包含用户点击保存按钮时保存的用户输入。
尝试在单独的文件中创建一个sharedData类,尝试了这个:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "segueTest") {
var svc = segue!.destinationViewController as! goalViewController
svc.toPass = textInput
}
}
(均来自其他stackoverflow问题)
答案 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
,然后从内部访问数组。