NSNumberFormatter aendern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NSNumberFormatter aendern

    Hallo zusammen,

    ich habe einen NSNumberFormatter, der als Formatter fuer einen Haufen Textfelder fungiert. Wenn ich nun etwas
    an den Darstellungsoptionen des Formatters aendere, wie erreiche ich dann, dass die neuen Einstellungen auch
    fuer alle Textfelder uebernommen werden?

    Viele Gruesse,
    Martin
  • Kay schrieb:

    Indem Du es richtig programmierst? Any Code wäre hilfreich! :rolleyes:
    Ich bitte vielmals um Verzeihung. :D

    Aber Code gibt es ja eigentlich keinen. Im IB ist der Formatter jeweils mit den Textfeldern verbunden. Dann aendere ich per Programm zur Laufzeit z.B. den Darstellungstyp des Formatters von Decimal auf Scientific und moechte, dass die neue Formatierung auch in allen Textfeldern uebernommen wird.
  • Der NSNumberFormatter wird vom Textfeld, genauer dessen Cell nach dem Format gefragt, wenn ein Formatter im Outlet verbunden ist. Passiert in der Cell des Textfeldes nix, hat die Cell keinen Anlaß, den Formatter nach einem formatierten String zu fragen.

    Du könntest den bestehenden Formatter dem Textfeld erneut zuweisen und schauen, ob sich dann was tut. Doku zu NSFormatter: "Cells use a formatter object to format the textual representation of their object value and to validate cell input and convert that input to an object value. If the new formatter cannot interpret the receiver’s current object value, that value is converted to a string object."

    Wozu das Ganze?

    No.
  • Danke schonmal. Sinn der Sache: Der Benutzer soll auswaehlen koennen, ob die
    ganzen Ausgaben in Dezimalzahlen oder wissenschaftlicher Darstellung erfolgen sollen.
    Jedem TextField den Formatter neu zuweisen ist irgendwie auch nicht so toll. ;(
  • Markus Müller schrieb:

    Ja, darauf wollte ich noch hinweisen - wahrscheinlich kopiert das Textfeld den Fornatter, insofern wird es nix mit der gemeinsamen Instanz. Bleibt Dir also nichts übrig, als von Hand alle Instanzen zu benachrichtigen.

    Doch, man könnte Notifications benutzen.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Markus Müller schrieb:

    Ok, wie heisst die Notification um Änderungen am Formatter an die Textfelder zu schicken? Hab in der Doku nix gefunden oder meinst Du abgeleitete Textfelder und da selber basteln?

    Ja, meine ich. Ist ja mutmaßlich ein 5-Zeiler.

    Man kann auch die Observierung m Controller unterbringen, der dann wenigstens nur noch "seine" Textfelder kennen muss. Es dürfte ja schon schwierig werden, aus dem WC für die Defaults an die aktuell benutzten WCs und VCs zu kommen. Bei großer Software wird das zum Wollknäuel.

    +++

    Ah, IIRC existiert eine Notification über das DNC, wenn die Systemeinstellungen für Datum pp. geändert werden. Mit der könnte es vielleicht automatisch gehen.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Du könntest dem Fenster sagen, dass es sich neu zeichnen soll. Das sollte die Änderungen im Formatter sichtbar machen.
    Es ist allerdings ein wenig Kanonen auf Spatzen .... (andererseits erspart es Code, Subclassing und Komplexität)
  • Welches Fenster ist denn "das Fenster"? Das Einstellungsfenster? Hier wird er kaum Probleme haben. Es geht darum, dass bei ihm 3472687234687 auf dem Schirm sein können, die von dem Format abhängen. Und wie sagt man denen jetzt Bescheid?

    Da die mutmaßlich die Formatter kopieren, wird sich deren Anzeige auch nicht ändern. Deren Formatter hat sich schließlich nicht geändert.

    Es geht hier um eine Benachrichtigung von unbekannt vielen unbekannten Instanzen. Dazu sind Notifications gedacht.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:


    Welches Fenster ist denn "das Fenster"? Das Einstellungsfenster? Hier wird er kaum Probleme haben. Es geht darum, dass bei ihm 3472687234687 auf dem Schirm sein können, die von dem Format abhängen. Und wie sagt man denen jetzt Bescheid?

    Da die mutmaßlich die Formatter kopieren, wird sich deren Anzeige auch nicht ändern. Deren Formatter hat sich schließlich nicht geändert.

    Es geht hier um eine Benachrichtigung von unbekannt vielen unbekannten Instanzen. Dazu sind Notifications gedacht.


    Notifications um die Formatter neu zu konfigurieren würde ich auch verwenden.
    Die Textfelder dann mit geändertem Formatter neu zeichnen zu lassen würde ich trotzdem über das window machen, sofern es so viele davon gibt.

    Wenn jemand "das Fenster" nicht kennt, kennt er noch viel weniger "jedes Textfeld".