2016-03-29 13 views
0

olarak adlandırılmıyor Delege yöntemini çağırmaya çalışıyorum ancak çalışmıyor. Benim hatam nerede? İşte Ios: Delegete yöntemi,

i @protocol, temsilci ve yöntem ilan ettiler sınıftır:

#import "EEBaseVC.h" 

@protocol EEInterstitialScreenDelegete; 

@interface EEInterstitialScreen : EEBaseVC 

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

@end 

@protocol EEInterstitialScreenDelegete <NSObject> 

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

@end 

Ve bu başka viewController içinde temsilci yönteminin beyanıdır: Mecbur

#pragma mark - EEInterstitialScreenDelegate 

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

Önceki görüntü denetleyicisinde bu yöntemi çağırmak için bazı şeyler yapın. Ama şart yerine değilse:

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

aslında temsilci ayarlamak mı? Delegenin bir yere güçlü bir referansı var mı? – Eiko

+0

evet zaten beyan yöntemini belirlediğim delegete'yi ayarladım. – iketan

+0

Başka bir ViewController'da 'target.delegate = self' (target = EEInterstitialScreen örneği) ayarlandı mı? PZ, genellikle bu – Tj3n

cevap

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

[self.navigationController pushViewController:obj];