Delegierte Methode wird nicht aufgerufen?

8

Ich habe einen View-Controller mit einer Delegate-Methode, die aufgerufen werden sollte, aber nicht?

NotifyViewController.h

%Vor%

NotifyingViewController.m

%Vor%

NotifiedViewController.h

%Vor%

NotifiedViewController.m

%Vor%

Aus irgendeinem Grund ist der Controller, der benachrichtigt werden soll, dies nicht. Der Benachrichtigende Controller gibt die Bedeutung der Methode, die den Delegat-IS-Lauf meldet, zurück, aber der Delegat führt die Funktion nicht aus, weil NSLog nicht ausgeführt wird. Irgendwelche Ideen warum?

    
Josue Espinosa 21.11.2013, 23:50
quelle

1 Antwort

23

Sie können nicht einfach angeben, dass ein Objekt einem Protokoll entspricht. Sie müssen dieses Objekt auch als Delegat zuweisen. Wenn Sie die NotifyingViewController-Instanz zuweisen / initialisieren, legen Sie ihren Delegaten auf self fest, und Sie sollten in Ordnung sein.

%Vor%

Es ist wichtig, dies zu tun und anzugeben, dass die Klasse dem Protokoll entspricht, das Sie bereits mit dieser Zeile durchführen.

%Vor%

Darüber hinaus ist es beim Aufrufen von Delegate-Methoden empfehlenswert, die Funktionsaufrufe in respondsToSelector: checks zu verpacken.

%Vor%     
Mick MacCallum 21.11.2013, 23:56
quelle