iOS中 block 做函數參數


1.在.h中

#import <Foundation/Foundation.h>

//typedef void(^success)(id);

@interface NetUtil : NSObject


/** 通過session獲取 POST網絡請求 */


+ (void) POST:(NSURL *) url SuccessState:(void(^)(id responseData))success FailureState:(void(^)(id error))failure;

@end

2.在.m中

#import "NetUtil.h"

@implementation NetUtil

#pragma mark - 通過NSURLSession進行POST請求
+ (void) POST:(NSURL *) url SuccessState:(void(^)(id responseData))success FailureState:(void(^)(id error))failure{

    NSMutableURLRequest * request = [[NSMutableURLRequest alloc] initWithURL:url];
    
    request.HTTPMethod = @"POST";
    request.timeoutInterval = 6;
    
    NSURLSessionDataTask * dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        if (error != nil || data == nil || response == nil) {
            // 請求失敗
            failure(error);
        }else{
            // 請求成功
            success(data);
        }
    }];
    [dataTask resume];
}

@end

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM