gpt4 book ai didi

Swift prepareForSegue 初始化空数组

转载 作者:行者123 更新时间:2023-11-30 13:34:49 26 4
gpt4 key购买 nike

当我通过prepareForSegue将数据从FirstViewController传递到SecondViewController( TableView )时,我在secondViewController中有一个空数组来收集数据,但每次 View 加载时,该数组都会初始化为空。

在进入核心数据或 nsuserdefaults 之前,如何向第二个 View Controller 添加数据?

这里有一个类似的问题,但该方法并没有解决我的问题。 Trouble passing Array through prepareForSegue

// View Controller 

// a new dictionary object is created
myDictionary = ["apples": 3, "oranges": 4, "bananas": 5]

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "saveData" {

let dvc = segue.destionationViewController as! MyTableViewController

dvc.arrayOfDictionaries += [myDictionary]

}
resetAll()
}


// My Table View Controller
var arrayOfDictionaries: [[String: AnyObject]] = []
var dictionary = [String:AnyObject]()

在 TableViewContrller 中我有一个函数

override func viewDidLoad() {
super.viewDidLoad()

loadData() //
}

func loadData() {

for dict in arrayOfDictionaries {

for (key, value) in dict {
// extract data
dictionary[key] = value

}

}
}

如何让数据保留在 arrayOfDictionaries 中?谢谢

最佳答案

如果数组为空,为什么要向其追加值?

为避免将来出现问题,您只需调用

dvc.arrayOfDictionaries = [myDictionary]

所以你永远不会关心 arrayOfDictionaries 状态(如果它已初始化,如果它为空或其他任何东西)

请检查 TableView Controller 中的 viewDidLoad 和其他 View 生命周期方法。您是否可能再次初始化那里的数组?

关于Swift prepareForSegue 初始化空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com