wenn ich Daten von FirstViewController an SecondViewController (Tabellenansicht) über prepareForSegue übergebe Ich habe ein leeres Array in secondViewController, um die Daten zu sammeln, aber jedes Mal, wenn die Ansicht das Array lädt, ist init leer.Swift PreparateForSegue initialisiert leeres Array
Bevor ich in die Kerndaten oder nsuserdefaults komme, wie kann ich die Daten zum zweiten View-Controller hinzufügen?
Es gibt ein ähnliches Problem hier, aber die Methode hat mein Problem nicht gelöst. 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]()
in TableViewContrller habe ich eine func
override func viewDidLoad() {
super.viewDidLoad()
loadData() //
}
func loadData() {
for dict in arrayOfDictionaries {
for (key, value) in dict {
// extract data
dictionary[key] = value
}
}
}
Wie kann ich in arrayOfDictionaries Daten bestehen bleiben erhalten? Danke
Wie lautet Ihr Code? – Larme
'resetAll()' Setzen Sie Ihr Wörterbuch zurück? Ich spreche Swift nicht, aber wenn ein Array von Dictionary nicht zugewiesen/initialisiert wird, funktioniert 'array + = newArray'? – Larme
resetAll setzt das Wörterbuch zurück, nachdem die Daten übergeben wurden und dann eine weitere Instanz von myDictionary erstellt wird. Die Daten werden übergeben, aber immer nur 1 Instanz. myDict muss zurückgesetzt werden, um ein neues dict zu sammeln – Dazzle