Handler 관련 메모

1485 단어

성공과 실패를 합치다

#import 

@class EOCNetworkFetcher;
typedef void (^EOCNetworkFetcherCompletionHandler)(NSData *data,NSError *error);

@interface EOCNetworkFetcher : NSObject
- (id)initWithURL:(NSURL*)URL;
- (void)startWithCompletionHandler:(EOCNetworkFetcherCompletionHandler)handler;
@end

// :
- (void)fetchFooData{
    NSURL *url = [[NSURL alloc] initWithString:@""];
    _fooFetcher = [[EOCNetworkFetcher alloc] initWithURL:url];
    [_fooFetcher startWithCompletionHandler:^(NSData *data,NSError *error){
        if(error){
            
        }else{
            _fetchedFooData = data;
        }
     }];
}

성공과 실패가 분리되다

#import 

@class EOCNetworkFetcher;
typedef void (^EOCNetworkFetcherCompletionHandler)(NSData *data);
typedef void (^EOCNetworkFetcherErrorHandler)(NSError *error);

@interface EOCNetworkFetcher : NSObject
- (id)initWithURL:(NSURL*)URL;
- (void)startWithCompletionHandler:(EOCNetworkFetcherCompletionHandler)completion
                    failureHandler:(EOCNetworkFetcherErrorHandler)failure;
@end

// :
- (void)fetchFooData{
    NSURL *url = [[NSURL alloc] initWithString:@""];
    _fooFetcher = [[EOCNetworkFetcher alloc] initWithURL:url];
    [_fooFetcher startWithCompletionHandler:^(NSData *data){
        _fetchedFooData = data;
    }
                            failureHandler:^(NSError *error){
     
     }];
}

좋은 웹페이지 즐겨찾기