Delegate-Methode nicht aufgerufen wird?

Ich habe einen view-controller mit einer delegate-Methode, die aufgerufen werden soll, aber es funktioniert nicht?

NotifyingViewController.h

@protocol NotifyingViewControllerDelegate <NSObject>
@required
- (void)iWasAccepted;
@end

@interface NotifyingViewController : UIViewController

@property (nonatomic, weak) id<NotifyingViewControllerDelegate> delegate;

NotifyingViewController.m

-(void)someMethod{
        [self.delegate iWasAccepted];
        [self dismissViewControllerAnimated:YES completion:nil];
}

NotifiedViewController.h

#import "NotifyingViewController.h"  
@interface NotifiedViewController : UIViewController <NotifyingViewControllerDelegate>

NotifiedViewController.m

-(void)iWasAccepted{
    [self saveIntoDB];
    NSLog(@"DELEGATE RAN");
}

Für einige Grund, der controller, die informiert werden sollen, ist es nicht. Die entsprechende Steuerung wird entlassen Bedeutung der Methode, die Warnungen der Delegat ausgeführt WIRD, aber der Delegat wird der Befehl nicht ausgeführt werden, weil es nicht NSLog. Irgendwelche Ideen, warum?

  • Wo sehen Sie zuweisen NotifiedViewController als NotifyingViewController's delegieren?
  • Ihre delegate ist ein weak Referenz (wie es sein sollte); sind Sie sicher, dass Sie es nicht geworden nil wenn Sie es nennen?
  • Ich dachte, Sie müssen es nur tun, in der UIViewController:NSObject<> Teil? Gibt es irgendwo sonst brauche ich zu sagen? Sorry, ich bin neu in der delegate-Methoden 🙂
Schreibe einen Kommentar