Funktionen ansprechen

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

  • Evtl. solltest Du diese "Verbindung" über das Modell und nicht direkt über die ViewController realisieren.

    Über KVO (Key-Value Observing) kann z.B. ein anderer ViewController auf Änderungen am Modell durch einen ViewController reagieren und das UI entsprechend den Änderungen anpassen.

    Wenn man die Infos hat, was Du genau realisieren möchtest, dann kann man auch die dazu passenden Lösungen anbieten. ;)
  • matz schrieb:

    asteiger schrieb:

    Also ich habe eine Funktion erstellt, die einen Button aktiviert,wenn in dem anderen Viewcontroller etwas abgeschlossen ist..


    Und dafür könnte man doch NSNotification verwenden, wa? ;)


    Besser wäre in diesem Fall sicherlich die Lösung über KVO (s.o.). Der jeweilige ViewController stellt seinen View einfach passend zum Modell ein. Damit lässt sich das Modell dann an belieben Stellen in der App ändern ohne das von allen Stellen Notifications über die Änderungen am Modell verschickt werden müssen.

    Im Grunde erhält der Empfänger, welcher sich als Observer angemeldet hat, auch nur eine "Benachrichtigung" über die Änderung zu einem Key im Modell. Allerdings ist KVO weitaus automatisierter als der Versand von Notifications.
  • Okay, aber was ist denn der Vorteil daran, im Gegensatz zu dem anderen Lösung?

    Wie gesagt will ich ja eigentlich etwas machen, womit ich mich noch nicht wirklich auskenne. Ich und ein Webdesigner arbeiten aktuell daran, dass wir die Daten von einem Server bekommen, also Das Label muss mit einem Text gefüllt werden welchen ich von einem Server bekomme... Und da ich im Moment noch nichts über die Programmierung mit Servern weiß habe ich vorübergehend einen 5 ViewController eingefügt, mit dem ich die Daten eingebe, die von dem Server kommen würde, damit die Variablen jetzt schon gefüllt sind, während ich den Rest programmiere, aber ich glaube zu dem mit den Servern sollte ich vielleicht ein neues Thema aufmachen, da das jetzt ein wenig abschweift.
  • Hm, nach dem Laden der Daten vom Server würde sich evtl. eine Notification anbieten.

    Aber im Grunde kommen diese Daten doch dann ins Modell und die "anderen" ViewController zeigen diese entsprechend an.

    Um nicht direkt KVO zu verwenden könntest Du die Anzeige der ViewController auch erst einmal in der viewWillAppear: Methode aktualisieren. viewWillAppear: wird immer aufgerufen, wenn der jeweilige ViewController angezeigt werden soll, also wenn der Tab im TabBarController gewechselt wird.
  • In welchem Format (JSON, XML etc.) kommen denn die Daten vom Server. Evtl. bietet es sich ja an einfach eine passende Testdatei mit den Daten zu erstellen und diese in der App wie nach einem Download per NSURLConnection zu verarbeiten. Damit sparst Du Dir dann direkt den 5. ViewController und die komplette Notification.
  • asteiger schrieb:

    Jetzt habe ich verstanden wie ihr das meint.. :D

    Ich soll also eine Datei (genauso wie sie vom Server kommt) einfach direkt ins Projekt hinzufügen und dann alles so programmieren, wie für die JSON Dateien die ich dann vom Server bekomme..
    ich werde das dann mal versuchen ;)


    Genau ;)

    Kannst auch direkt unter Mac OS einen Webserver aufsetzen und damit ein bisschen rumspielen.

    openbook.galileocomputing.de/a…3f-4a40-bfb6-e0086dd954cf
  • asteiger schrieb:

    Noch eine kurze Frage zu den ViewController. Wie kann ich von einem im Storyboard erstellten zum anderen im storyboard erstellten ViewController springen (also programmiert nicht über die Pfeile im Storyboard)?

    Im NavigationController so:

    Quellcode

    1. [self.navigationController pushViewController:dein2ViewController animated:YES];

    Ohne NavigationController so:

    Quellcode

    1. UIViewController *con = [self.storyboard instantiateViewControllerWithIdentifier:@"deinStoryboardIdentifier"];
    2. [self presentViewController:con animated:YES completion:nil];