您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页iOS YTKNetwork插件数据请求HUD

iOS YTKNetwork插件数据请求HUD

来源:二三四教育网

1.协议插件

@protocol YTKRequestAccessory <NSObject>
@optional
- (void)requestWillStart:(id)request;
- (void)requestWillStop:(id)request;
- (void)requestDidStop:(id)request;

2.给API请求添加插件功能

- (void)startWithCompletionBlockWithSuccess:(void (^)(YTKBaseRequest *request))success failure:(void (^)(YTKBaseRequest *request))failure {
__block id safeSelf = self;、
[self addAccessory:[DTLoadingIndicator sharedLoadingIndicator]]; //添加HUB并且成为代理
self.successCompletionBlock = ^(YTKBaseRequest *request){
    [safeSelf printRequestInfo:request];
    success(request);
};
self.failureCompletionBlock = ^(YTKBaseRequest *request){
    [safeSelf printRequestInfo:request];
    if (request.responseStatusCode==0) {
        [MBProgressHUD showMessage:@"网络异常" finishBlock:nil];
    }else{
        NSString *errorString = [NSString stringWithFormat:@"请求失败, 状态码:%ld",(long)request.responseStatusCode];
        [MBProgressHUD showMessage:errorString finishBlock:nil];
    }
    failure(request);
};
[self start];
}

3.遵循协议的HUB动画

@interface DTLoadingIndicator : UIView<YTKRequestAccessory>
@property (strong, nonatomic)  UIImageView *backImage;
+ (DTLoadingIndicator *)sharedLoadingIndicator;
- (void)settingDefault;
    - (void)setIndicatorWith:(NSString *)image num:(int)num speed:(float)speed      backGroundColor:(UIColor *)backColor color:(UIColor *)color moveViewSize:(float)moveViewSize moveSize:(float)moveSize;
    -(void)show;
    -(void)hide;

4.HUB动画实现代理方法

 - (void)requestWillStart:(id)request{
    [self show];
}

- (void)requestWillStop:(id)request{
   [self hide];
}

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务