2017-09-30 4 views
1

Ich habe eine App, an der ich arbeite, wo es eine Balance für Benutzer zeigt, die sich ändert. Ich möchte diese Werte anzeigen, wenn sie sich ändern und der einzige Weg, wie ich das mache, wäre ein Knopfdruck. Aber die Werte ändern sich oft auf einem anderen View-Controller, also habe ich mich gefragt, ob ich Labels gleich einer Variablen setzen kann, die zusammen mit diesen Variablen aktualisiert werden.Dynamische Label-Titel

Da sich die Werte außerhalb der View-Controller mit den Beschriftungen ändern, trifft die normale Methode zum Ändern von Beschriftungen mit einer Schaltfläche nicht zu.

Vielen Dank im Voraus!

Antwort

1

Als allgemeine Lösung, könnten Sie dies erreichen, indem ein property observer in Ihren View-Controller deklarieren, Beispiel:

class ViewController: UIViewController { 
    var updatedData = "" { 
     didSet { 
      lblData.text = "Data: \(updatedData)" 
     } 
    } 

    @IBOutlet weak var lblData: UILabel! 
} 

An diesem Punkt jedes Mal updatedData Wert bearbeitet wird, der lblData Beschriftungstext wird aktualisiert.

Beachten Sie, dass es auch willSet Option gibt, die aufgerufen wird, kurz bevor der Wert gespeichert wird. Weitere Informationen finden Sie unter Swift Properties Documentation - Object Observers.

+0

Ah, ja ich habe Eigentum Beobachter vergessen. Vielen Dank! Ich werde es versuchen. – user8701949

+0

Ich bin froh zu helfen ... schiess mir einfach einen Kommentar wenn nötig :) –