2017-07-11 3 views
1

Ich implementiere lokale Benachrichtigungen in meiner iOS10 App. Es ist eine einfache Master-Detail-App, in der Benutzer Artikel (Arzneimittel) mit Ablaufdatum eingeben. Benachrichtigungen werden ausgelöst, wenn ein Element abläuft.Auswählen der Tabellenansichtszelle aus der lokalen Benachrichtigung, wenn App geschlossen wurde

Die App-Struktur ist eine DrugTableViewController und eine DetailViewController (die eine Reihe von Drogen Droge Objekte enthält) in einem Navigationscontroller eingebettet.

Ich versuche, die entsprechende Zeile in der tableview ausgewählt, wenn der Benutzer auf eine Benachrichtigung tippt.

Der folgende Code ist erfolgreich, wenn die App geöffnet ist oder im Hintergrund, wählt jedoch nicht die Zeile aus, wenn die App beim Empfang der Benachrichtigung geschlossen wurde (obwohl sie die Tabellenansicht immer noch korrekt lädt).

Ich habe auch versucht, meine Detailansicht Controller aus der Storyboard-ID instanziieren, aber das funktioniert nicht.

Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Dieser Code kann aufgerufen werden, bis die Tabellenansicht geladen wurde. Versuchen Sie zunächst, die Benachrichtigungsbehandlung für eine Sekunde zu verzögern: DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: { //Your code here }) und schauen Sie, wird es helfen oder nicht. Wenn, denke, wie Sie überprüfen können, ist Tabellenansicht geladen wurde oder nicht (oder einfach die Verzögerung verlassen)

+0

Vielen Dank für Ihre Antwort. Ich werde es versuchen! – Chris

+0

Das hat funktioniert! Vielen Dank – Chris

Verwandte Themen