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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步