Wenn Sie die modale Ansicht erstellen, erstellen Sie eine neue Instanz von modalViewController und modalView. Diese neue Instanz kennt keine anderen Instanzen. Es gibt einige Möglichkeiten, wie Sie die Informationen aus früheren Iterationen dieser Modalansicht-Controller beibehalten können.
Wie würde ich es tun: Platzhalter in Ihrer Hauptansicht einrichten und übergeben Sie die Werte, die der Benutzer wählt zurück in die Hauptansicht über ein Protokoll und Delegieren von Setup. Wenn Sie dann in die modale Ansicht wechseln, können Sie diese Variablen laden, bevor Sie die modale Ansicht anzeigen.
Angenommen, Sie haben ein Wörterbuch mit allen Werten: {slider = YES, someValue = 10, ...} Erstellen Sie dieses Wörterbuch im Hauptansicht-Controller, der erste, der geöffnet wird, und legen Sie einige Standardwerte fest drin.
In Ihrer modalen Ansicht erstellen Controller das gleiche Wörterbuch wie eine Eigenschaft.
Erstellen Sie ein Protokoll in Ihrem modal View-Controller mit einem Verfahren, das
so etwas wie
- (void) doneEditing:(NSDictionary *)values
ist
Richten Sie Ihren ersten Blick als Delegierter für den Modal-View-Controller und bei der Umsetzung von doneEditing
kopieren Sie die Werte zu dem Wörterbuch, das in der ersten Ansicht vorhanden ist, bevor die modale Ansicht angezeigt wird.
Wenn die erste Ansicht bereit ist, die modale Ansicht erneut anzuzeigen, kopieren Sie die Werte in die Wörterbucheigenschaft der modalen Ansicht, bevor Sie sie präsentieren.
Ich hoffe, das bringt Sie in die richtige Richtung. Es ist wichtig, sich daran zu erinnern, dass Sie jedes Mal, wenn Sie eine modale Ansicht durchgehen oder erstellen und präsentieren, eine brandneue Instanz dieser Ansicht erstellen, die nichts über die vorherige Instanz weiß, es sei denn, Sie sagen etwas darüber.
Wenn eine Ansicht freigegeben wird, wie können Sie erwarten, dass sie ihre Werte beibehält? – CodaFi
Vor allem, ich erwarte nicht und du antwortest auch nicht. – gluon