2016-03-29 14 views
0

Ich versuche, eine Delegate-Methode aufzurufen, funktioniert aber nicht. Wo ist mein Fehler?Ios: Delegete Methode ruft nicht auf

Hier ist die Klasse, wo ich @protocol erklärt haben, zu delegieren und die Methode:

#import "EEBaseVC.h" 

@protocol EEInterstitialScreenDelegete; 

@interface EEInterstitialScreen : EEBaseVC 

@property(nonatomic,strong) id <EEInterstitialScreenDelegete> delegete; 

@end 

@protocol EEInterstitialScreenDelegete <NSObject> 

-(void)interstitialScreenUpdateInfo:(EEInterstitialScreen *)interstitialscreen; 

@end 

Und dies ist die Erklärung des Delegatmethode in einem anderen Viewcontroller:

#pragma mark - EEInterstitialScreenDelegate 

-(void)interstitialScreenUpdateInfo:(EEInterstitialScreen *)interstitialscreen 
{ 
    NSLog("hello"); 
} 

Ich muss Mach ein paar Sachen, um diese Methode im vorherigen View-Controller aufzurufen. Aber die, wenn sie Bedingung nicht erfüllt:

if (_delegete && [_delegete respondsToSelector:@selector(interstitialScreenUpdateInfo:)]) { 
    [_delegete interstitialScreenUpdateInfo:self]; 
} 
+0

Haben Sie eigentlich die Delegaten festgelegt? Hat der Delegierte irgendwo einen starken Bezug? – Eiko

+0

ja ich habe delegete schon gesetzt, wo ich die Methode deklariert habe. – iketan

+0

Haben Sie die "target.delegate = self" (target = EEInterstitialScreen-Instanz) in einem anderen ViewController gesetzt? Ppl ussually running to coz dies zu vergessen – Tj3n

Antwort

1
AnotherViewController * obj = [AnotherViewController alloc]init]; 
obj.delegate =self; 

[self.navigationController pushViewController:obj]; 
Verwandte Themen