Übergeben von Daten, die von einer Push-Benachrichtigung vom AppDelegate an einen ViewController empfangen wurden

9

In meiner App gibt es eine Sammlungsansicht mit einer Reihe von Bildern, die von einem Web-Service abgerufen wurden. Jedes Bild hat Tags. Die App kann also auch Bilder mit Tags filtern.

Jetzt versuche ich Push-Benachrichtigungen zu dieser App hinzuzufügen. Eine Push-Benachrichtigung wird gesendet, wenn neue Bilder zum Server hinzugefügt wurden. Diese Bilder sind beispielsweise mit zuletzt gekennzeichnet. Ich übergebe diesen Tag als Nachricht über eine Push-Benachrichtigung und was ich brauche ist, wenn der Benutzer auf die Push-Benachrichtigung klickt, um die App zu öffnen, sollte er die neuesten neuen Bilder in die Sammlungsansicht laden.

Ich bin halb fertig. Ich empfange die Push-Benachrichtigung mit der Nachricht erfolgreich an die Methode didReceiveRemoteNotification in der Datei AppDelegate.m . Jetzt muss ich es an den View-Controller übergeben, wo sich die Collection-Ansicht befindet. Ich stecke an diesem Punkt fest. Ich kann nicht herausfinden, wie man es zum View-Controller sendet.

Ich habe versucht, eine Eigenschaft im App-Delegaten zu deklarieren, ihm den Wert der Nachricht zuzuweisen und ihn vom View-Controller zu beziehen, aber es hat nicht funktioniert. Ich habe Delegierte, Benachrichtigungszentrale, Benutzerstandards gebunden, aber nichts hat funktioniert.

Kann mir bitte jemand sagen, wie ich das erreichen soll?

Danke.

Bearbeiten:

Hier ist mein Code. Die letzte Methode, die ich ausprobiert habe, waren die lokalen Benachrichtigungen.

AppDelegate.m

%Vor%

ViewController.m

%Vor%     
Isuru 10.03.2014, 12:28
quelle

2 Antworten

4

Fall 1: Wenn Ihre App im Hintergrund läuft und der Nutzer die App mit Benachrichtigung startet, klicken Sie auf die Schaltfläche, ob die App als Benachrichtigung oder normal gestartet wurde

%Vor%

Fall 2: Wenn Ihre App im Vordergrund ist, wird die Benachrichtigung in didReceiveRemoteNotification

empfangen %Vor%

Jetzt fügen Sie einen Beobachter in einen beliebigen Controller mit lokaler Benachrichtigung ein und tun, was Sie tun möchten

    
Surender Rathore 10.03.2014 12:48
quelle
0

Ich weiß nicht, ob es funktionieren wird oder nicht, es ist nur mein Vorschlag. Ich habe es vorher noch nicht versucht, aber in deinem Fall könnte es funktionieren Benutzer NSUserDefaults dafür.

in Ihrer AppDelegate.m

%Vor%

in Ihrer AnsichtController.m

%Vor%     
morroko 10.03.2014 12:40
quelle