【发布时间】:2013-06-06 08:34:12
【问题描述】:
我正在像这样在RequestManeger 类中设置一个委托:
@protocol Resend_Verify_Delegate <NSObject>
@required
-(void)VerifyResponse:(NSString*)response;
-(void)Re_Failed;
@end
@interface RequestManeger : NSObject < ASIHTTPRequestDelegate > {
id <Resend_Verify_Delegate> Re_Delegate;
}
我也在RequestManeger.m文件中合成。
之后,我将导入 RequestManeger.h int 我的 ViewController.h 文件并确认我创建的协议。在 ViewController.m 文件中,我正在调用一行来设置委托,如下所示:[RequestManeger sharedManeger].Re_Delegate = self; 并应用这些方法。
这是我如何设置来自RequestManeger 类的调用:
NSString *url = [NSString stringWithFormat:@"http://someurl.com];
NSLog(@"%@",url);
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
[request setRequestMethod:@"GET"];
[request setCompletionBlock:^{
NSDictionary *dictionary = [request.responseString JSONValue];
NSLog(@"%@",dictionary);
[self.Re_Delegate VerifyResponse:[dictionary valueForKey:@"Message"]];
}];
[request setFailedBlock:^{
NSLog(@"%@", request.error);
[self.Re_Delegate Re_Failed];
}];
[request startAsynchronous];
确实发生了对方法的调用,但现在没有在 ViewController.m 文件中调用。
我有点沮丧, 任何帮助将不胜感激。
【问题讨论】:
标签: iphone ios objective-c delegates protocols