- <李>
李>
+,defaultSessionConfiguration (NSURLSessionConfiguration *) + (NSURLSessionConfiguration *) ephemeralSessionConfiguration +,(NSURLSessionConfiguration *) backgroundSessionConfigurationWithIdentifier: (NSString *)标识符
<代码> 代码>
NSURLSession会话对象的创建:
//,使用默认会话模式,默认的缓存,饼干及证书 + (NSURLSession *) sharedSession//,使用指定的工作模式 +,(NSURLSession *) sessionWithConfiguration: (NSURLSessionConfiguration *)配置//,使用指定的工作模式,任务运行时的队列,代理 +,(NSURLSession *) sessionWithConfiguration: (NSURLSessionConfiguration *) configuration 委托:(id<代码> 代码>
<李>
<强> 强>
李>
@ property(只读),NSURLSessionTaskState 状态 typedef NS_ENUM (使用NSInteger, NSURLSessionTaskState ), { ,,,NSURLSessionTaskStateRunning =, 0,,,,,,//,运行状态 ,,,NSURLSessionTaskStateSuspended =,,,,,//,挂起状态 ,,,NSURLSessionTaskStateCanceling =,,,//,取消状态 ,,,NSURLSessionTaskStateCompleted =,,,//,完成状态 };
安康;(空白)cancel ,,,,//,取消任务 安康;(空白)resume ,,,,//,运行任务 安康;(空白)suspend ,,,//,挂起任务
<李>
<强> 强>
李>
安康;(NSURLSessionDataTask *) dataTaskWithURL: (NSURL *) url completionHandler: (void (^) (NSData *数据,NSURLResponse *反应,,NSError *误差))completionHandler 安康;(NSURLSessionDataTask *) dataTaskWithRequest:(NSURLRequest *) request completionHandler: (void (^) (NSData *数据,NSURLResponse *反应,,NSError *误差))completionHandler,,,,在块中处理请求后的结果(响应数据,响应对象,错误对象)
,,,,如:发送一个得到请求,获取指定游戏任务信息的JSON数据
NSString * urlStr =, @“http://localhost/lolShow.php?number=20&从=0”; 时间=NSURL *, url [NSURL URLWithString urlStr):; 时间=NSURLRequest *, request [NSURLRequest requestWithURL: url];//创建数据任务 时间=NSURLSession *, session [NSURLSession sharedSession]; 时间=NSURLSessionDataTask *, dataTask [session dataTaskWithRequest: request completionHandler: ^ (NSData *, __nullable 数据,NSURLResponse *, __nullable 反应,NSError *, __nullable 错误),{ ,,,if (, error ), { ,,,,,,,NSLog (@“1, % @”, [error localizedDescription]); ,,,,,,,return ; ,,,} ,,,//将JSON数据序列化为OC对象 ,,,NSArray *, arr =, (NSJSONSerialization JSONObjectWithData: data 选择:0,错误:和错误); ,,,if (, error ), { ,,,,,,,NSLog (@“2, % @”, [error localizedDescription]); ,,,,,,,return ; ,,,} ,,,//字典转模型 ,,,for (NSDictionary *, dict 拷贝arr ), { ,,,,,,,AMHeroModel *, model =, (AMHeroModel heroModelWithDict: dict类型); ,,,,,,,(self.heroInfoArray addObject:模型); ,,,} ,,,[[NSOperationQueue mainQueue], addOperationWithBlock: ^ { ,,,,,,,(self stopLoading);//刷新UI ,,,}]; });//启动任务 [dataTask 恢复];
<李>
<强> 强>
李>
安康;(NSURLSessionDataTask *) dataTaskWithURL: (NSURL *)的url null null null null null nulliOS网络开发(3)使用NSURLSession