2017-06-27 2 views
1

Ich habe Daten mit der Delegate-Methode zurück zu meinem VC gesendet. Wie kann ich es so speichern, dass ich es an einen anderen VC senden kann?So speichern Sie Daten Zurückgesendet mit der Delegate-Methode?

func DataToPass(ArrayName: [String]) { //function from delegate 
    Datacollect = ArrayName 
    print(ArrayName) 
} 

Hier ist die Funktion in der Delegate-Methode, die meine Daten enthält. ArrayName ist ein Array, das meine Daten enthält. Datacollect ist ein Versuch, es zu sammeln, jedoch wird nichts in Datacollect gespeichert.

Ich habe bereits Datacollect als String Array zugewiesen.

var Datacollect = [String]() 

Wie kann ich von ArrayName die Daten zu meinem VC speichern?

+0

ich einen Abschluss verwenden Sie? –

Antwort

1

Es gibt viele Möglichkeiten zum Speichern von Daten und eine der einfachsten Möglichkeiten, um zu beginnen, ist die Verwendung der integrierten UserDefaults.

So können Sie den folgenden Code in einer Methode zum Speichern Ihres DataCollect-Arrays verwenden.

Let defaults = UserDefaults.standard 
defaults.set(DataCollect, forKey: "DataCollect") 

die Daten abzurufen Sie den folgenden Code in einer Methode verwenden:

let defaults = UserDefaults.standard 
let DataCollect = defaults.array(forkey: "DataCollect") 
+0

Ive verwendet 'let DCollect = ArrayName'' let defaults = UserDefaults.standard' 'defaults.set (DCollect, forKey:" DCollect ")' um meine Daten zu speichern und 'let defaults = UserDefaults.standard'' lasse DCollect = String (Beschreibung: defaults.array (forKey: "DCollect")) 'um es zu präsentieren. Und dann ist die Ausgabe von DCollect 'optional ([gesammelte Daten])' wie kann ich das optionale loswerden? –

+1

Es ist korrekt, dass es ein optionales ist - möglicherweise sind keine Daten in diesem Schlüssel gespeichert. Es gibt ein paar Möglichkeiten, dies zu umgehen, aber ich würde empfehlen, eine andere Variable (mit dem gleichen Namen ist gut) neu zuweisen und dies wird die Variable auspacken. So haben wir defaults = UserDefaults.standard // das ist optional wenn defaults = defaults { // defaults ist unwrapped (nicht mehr optional) so gehen wild! // code here } Sorry über die Formatierung - scheint schwierig, dies richtig in den Kommentaren zu bekommen –

Verwandte Themen