我有一個框架和一個項目。我的框架負責Web服務。如何通過延遲從方法返回值?
從項目用戶插入用戶名和密碼。然後通過在框架內調用sendLogin
方法來傳遞這些參數。
內部框架需要一段時間來檢查和驗證用戶名和密碼。如果用戶名和密碼正確,它將從服務器獲得一個令牌號碼。
直到這裏一切工作正常。但我想知道如何將此令牌發送回主程序?
我試過完成方法,但是失敗了。下面是定義:
項目:
- (IBAction)bankLoginPressed:(id)sender
{
[registerUser sendLogin:^(NSInteger *accessCode){
NSLog(@"access code == %tu ",accessCode);
}];
}
內部框架
typedef void (^HttpCompletionBlock) (NSInteger *);
-(void) sendLogin :(HttpCompletionBlock)completionHandler
{
NSString *string = @"https://myserver/customer_authentication";
NSDictionary *parameters = @{@"member_id": @"1234", @"access_code": @"password", @"device_id":@"874627864"};
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:string parameters:parameters progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
if (responseObject[@"secret_token"])
{
NSLog(@"Secret is= %@",responseObject[@"secret_token"]);
//Here I needd to send back token number????
}
}
failure:^(NSURLSessionTask *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
}
如果你知道如何代表工作,這是使用一個 – Fonix
正確@Fonix的理想場所。代表或NSNotificationCenter應該可以正常工作。 – TechBee