2016-08-10 3 views
1

aufgerufen Ich habe UIPopoverPresentationController implementiert, die UITableView und UISwitch enthalten. Alles funktioniert gut außer UITableView Delegierten Methoden nicht aufgerufen werden. Deletgate Methode nur aufgerufen, wenn i performSelector nennen wie dieseUITableView Delegate Methoden werden nicht in UIPopoverPresentationController

[self performSelector:@selector(reloadTblData) withObject:nil afterDelay:2.0] 

Und reloadTblData ist nur eine leere Methode. nichts, was ich dort mache. Was könnte der Grund sein?

+0

Ich denke, Delegate-Objekt ist "Null". –

+0

@EvgenyKarkan, wie es nur durch das Schreiben performSelector Zeile – Ali

+0

aufgerufen wird, zeigen Sie Ihren Code. –

Antwort

1

Überprüfen Sie, wie Sie den Delegaten behalten.

Delegaten und Datenquellen sind schwach referenziert. Wenn also kein View Controller eine Referenz enthält, können diese zerstört werden.

Wenn die Tabellenansicht Teil eines View Controllers ist, der auch der Delegat ist, tritt kein Problem auf. Wenn es sich bei dem Delegaten um ein separates Objekt handelt, wird am Ende der Ausführungsschleife jedoch ein Garbage Collection-Vorgang ausgeführt.

Verwandte Themen