Swift方法实现回调的一种方式

记录一下:

封装了一个类,暴露出的一个方法,在外部引用时,给出回调blcok

封装类:

 //MARK:登录
    public func loginWithToken(token:String,loginSuccessBlock:(()->Void),loginErrorBlock:(()->Void)) {
        
          //请求成功
           loginSuccessBlock()
           
          //请求成功
           loginErrorBlock()

        
        
    }    

  

调用处:(这边是OC,如果是swift,一样的用法)

-(void)btnLoginClick{
    
    MainViewController *main = [[MainViewController alloc] init];
    [main loginWithToken:@"474e5a55-4a68-4671-90e1-e2f1da5fc5b6" loginSuccessBlock:^{
         NSLog(@"-----success");
    } loginErrorBlock:^{
         NSLog(@"-----error");
        [self dismissViewControllerAnimated:YES completion:nil];
    }];
    [self presentViewController:main animated:YES completion:nil];
    
    
}