Strange UIAlertView private Methode Absturz _performPopup

8

Ich versuche, einen Absturz zu erkennen, der durch eine private Methode in UIAlertView verursacht wurde. Etwa die Hälfte meiner App-Abstürze betreffen dies.

%Vor%

Hier ist der Abschnitt aus meinem Absturzbericht. Was mich stört ist, dass die meisten meiner Alarmansichten von Singleton-Objekten aufgerufen werden, die während des gesamten Lebenszyklus der App existieren sollen. Ich bin mir also nicht sicher, ob dies dadurch verursacht wird, dass der UIAlertView-Delegat freigegeben wird, bevor er von ihm aufgerufen wird. Hat das jemand schon mal gesehen? Könnten Sie mir bitte einen Ratschlag geben? Danke.

%Vor%     
George Burdell 28.11.2012, 09:56
quelle

2 Antworten

3

Es klingt, als ob der Delegierte das Problem hier verursacht. Für einfache UIAlertViews, die die Benutzereingaben nicht verfolgen müssen, können Sie den Delegaten einfach auf null setzen, beispielsweise:

%Vor%

Wenn Sie die Delegate-Methoden benötigen, stellen Sie sicher, dass Sie den Delegaten des UIAlertView nicht verlieren, wenn Sie die Ansicht verlieren:

%Vor%

Entweder in dealloc oder möglicherweise viewWillDisappear: je nachdem, wie Ihr Code eingerichtet ist!

    
a1phanumeric 20.12.2012 21:28
quelle
0

Es ist auch eine gute Idee, die Alarmansicht zu verwerfen und zu verlassen, wenn die App in den Hintergrund geht.

Fügen Sie der viewDidLoad-Methode Folgendes hinzu:

%Vor%

Die Implementierung von handleApplicationDidEnterBackground sollte dann so aussehen:

%Vor%     
RPM 13.08.2013 20:14
quelle