Delegate不是调用方法

时间:2012-10-03 16:46:02

标签: objective-c ios objective-c-protocol

所以我有一个问题。 有人可以告诉我这行代码调用(协议)方法的问题

 [self.delegate poplogin];

poplogin是方法名称,由于某种原因它不起作用。 它没有调用方法poplogin

供参考:

@property(nonatomic,retain) id<loginAuthDelegate> delegate;

让我解释一下案例

所以我想说我有一个班级abc.h

@protocol loginAuthDelegate <NSObject>
-(void)poplogin;
@end

界面

之后
@property(nonatomic,retain) id<loginAuthDelegate> delegate;

in .m i am just calling the Delegate and @synthesize it
[self.delegate poplogin];

not i have another files
let say def.h
i am importing the Class abc.h
@interface def : UIViewController<loginAuthDelegate>



def.m
-(void)poplogin
{
NSLog(@"Delegate doesn't respond to here");
vmpaSecureLogin *ivc = [[vmpaSecureLogin alloc] init];
ivc.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:ivc animated:YES];
}

1 个答案:

答案 0 :(得分:2)

这可能是因为self.delegatenil

您可能忘记将对象的delegate影响到您实现委托方法的其他对象,例如ViewController或其他对象。