首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOS 备忘录

    SDWebImage 添加 token

    *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)request completionHandler :(void (^)(NSURLRequest * _Nullable))completionHandler方法如下: - (void)URLSession:(NSURLSession *)session *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)request completionHandler :(void (^)(NSURLRequest * _Nullable))completionHandler { // Identify the operation that runs :completionHandler]; } else { if (completionHandler) { completionHandler(customRequest

    1K30编辑于 2021-12-14
  • 来自专栏流川疯编写程序的艺术

    ios swift模仿qq登陆界面,xml布局

    = nil){ VMXMLParser().initWithURL(url, completionHandler: completionHandler) = nil){ VMXMLParser().initWithURLString(urlString, completionHandler: completionHandler = nil){ VMXMLParser().initWithContentsOfData(data, completionHandler:completionHandler = nil) -> AnyObject { parseXMLForUrl(url :url, completionHandler: completionHandler) parseXMLForUrl(url :url, completionHandler: completionHandler) return self }

    2.5K10编辑于 2022-05-06
  • 来自专栏正则

    AFNetworking源码探究(六) —— AFURLSessionManager(2)

    *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)request completionHandler :(void (^)(NSURLRequest *))completionHandler 首先看一下系统的API接口 /* An HTTP request is attempting to perform :(void (^)(NSURLRequest * _Nullable))completionHandler; 下面看一下AFN中该代理方法的实现 - (void)URLSession:(NSURLSession :(void (^)(NSURLRequest *))completionHandler { NSURLRequest *redirectRequest = request; if ( 接着就是利用生成的request重新请求 if (completionHandler) { completionHandler(redirectRequest); } 这个方法是在服务器去重定向的时候

    75230发布于 2021-09-02
  • 来自专栏陈满iOS

    iOS开发·网络请求方法总结复习(NSURLConnection,NSURLSession,AFNetworking)

    :completionHandler]; return dataTask; } 5. :(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler { __block :completionHandler]; return downloadTask; } 其中self.session是AFURLSessionManager.h中的属性 @property ( [self dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:completionHandler :completionHandler]; return dataTask; } 6.

    4K30发布于 2018-09-10
  • 来自专栏iOS开发随笔

    WKWebView不显示JS的Alert,Confirm,TextInput弹框解决方法

    webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler :(void (^)(void))completionHandler { UIAlertController * alertController = [UIAlertController alertControllerWithTitle webView runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler :(void (^)(BOOL))completionHandler { UIAlertController *alertController = [UIAlertController alertControllerWithTitle :(void (^)(NSString * _Nullable))completionHandler { UIAlertController * alertController = [

    7.8K30发布于 2018-07-04
  • 来自专栏哈雷彗星撞地球

    (译)openURL 在 iOS10中已弃用

    苹果在iOS 10 中已经弃用了openURL:这个旧方法,用openURL:options:completionHandler:来代替。 支付宝等) iOS 10 中的更新 苹果在UIKit相关的 What’s New in iOS 文档中提到: The new UIApplication method openURL:options:completionHandler 翻译如下: 新的UIApplication 方法`openURL:options:completionHandler:` 会异步执行,并在主队列中调用这个指定的 `completion handler` :nil]; // Swift UIApplication.shared.open(url, options: [:], completionHandler: nil) 实际上,只要你仍需要支持iOS :)]) { [application openURL:URL options:@{} completionHandler:^(BOOL success) { NSLog

    3.5K10发布于 2018-08-22
  • 来自专栏云原生布道专栏

    IOS开发系列——NSUrlSession专题

    :(NSURLRequest*)requestcompletionHandler:(void(^)(NSData*data,NSURLResponse*response,NSError*error))completionHandler :(void(^)(NSURLSessionResponseDisposition disposition))completionHandler { _urlResponse= response; // : (void (^)(NSCachedURLResponse *_Nullable)) completionHandler { completionHandler(proposedResponse); :(void (^)(NSURLRequest*))completionHandler { NSMutableURLRequest*redirectRequest; redirectRequest = :(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{ NSLog

    1K30编辑于 2023-10-11
  • 来自专栏我杨某人的青春满是悔恨

    Kingfisher源码阅读(一)

    , completionHandler: CompletionHandler?) , completionHandler: CompletionHandler?) 第四个参数类型CompletionHandler也一样是个闭包类型的别名: public typealias CompletionHandler = ((image: UIImage? , completionHandler: CompletionHandler?) , completionHandler: CompletionHandler?

    1.8K20发布于 2018-09-10
  • 来自专栏正则

    AFNetworking源码探究(七) —— AFURLSessionManager(3)

    *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler :(void (^)(NSURLSessionResponseDisposition disposition))completionHandler; 首先看一下苹果该方法的API /* The task :(void (^)(NSURLSessionResponseDisposition disposition))completionHandler; 看一下AFN中该方法的实现 - (void)URLSession ) { completionHandler(disposition); } } 这里,NSURLSessionResponseDisposition disposition = :(void (^)(NSCachedURLResponse * _Nullable cachedResponse))completionHandler; 首先看一下苹果该方法的API /* Invoke

    71740发布于 2021-09-02
  • 来自专栏SDP零信任

    移动/PC客户端流量拦截与转发

    :(void (^)(NSError * _Nullable))completionHandler {     [self addObserver:self            forKeyPath: :completionHandler]; } /////////////////////////////////停止隧道///////////////////////////////////////// ///////// - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void) if (error) {             if (completionHandler) {                 completionHandler(error);             }         } else {             if (completionHandler) {                 completionHandler(nil);            

    6.3K41编辑于 2021-12-01
  • 来自专栏移动端开发

    WKWebView的使用与JS交互详细解读

    3.在原生得到结果后,需要回调给JS,通过completionHandler 回调给JS 4.completionHandler 回调的参数和返回值都是空 /** 下面这三个方法根据前面的字面意思就能区分记住 // 在原生得到结果后,需要回调给JS,通过completionHandler 回调给JS // completionHandler 回调的参数和返回值都是空 -(void)webView:(WKWebView 回调给JS 4.大家注意这个回调的completionHandler参数是字符串 // runJavaScriptTextInput // 要求用户输入一段文本 // 在原生输入得到文本内容后,通过 completionHandler回调给JS 大家注意这个回调的completionHandler参数是字符串 -(void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt :(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL))completionHandler

    3.5K70发布于 2018-01-12
  • 来自专栏iOS122-移动混合开发研究院

    实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

    - (void)fetchPatchInfo:(NSString *) urlStr completionHandler:(void (^)(NSDictionary * patchInfo, NSError * error))completionHandler { NSURLSessionConfiguration * defaultConfigObject = [NSURLSessionConfiguration 依然是要封装一个简单函数,下载完成后,通过block传出文件临时的保存位置: -(void) downloadFileFrom:(NSString * ) urlStr completionHandler : (void (^)(NSURL *location, NSError * error)) completionHandler { NSURL * url = [NSURL URLWithString :(void (^)(NSDictionary * patchInfo, NSError * error))completionHandler { NSURLSessionConfiguration

    1.3K50发布于 2018-01-02
  • 来自专栏韦弦的偶尔分享

    通过 3 个简单的步骤测试使用了系统单例的 Swift 代码

    (.error(error)) } completionHandler(.data(data ?? : @escaping Handler) { let task = dataTask(with: url, completionHandler: completionHandler) (.error(error)) } completionHandler(.data(data ?? func performRequest(for url: URL, completionHandler: @escaping Handler) { requestedURL = url let data = "Hello world".data(using: .utf8) completionHandler(data, nil,

    70910编辑于 2022-03-30
  • 来自专栏iOS122-移动混合开发研究院

    实现iOS图片等资源文件的热更新化(五): 一个简单完整的资源热更新页面

    :(void (^)(BOOL success, NSError * error))completionHandler { if ( ! completionHandler) { completionHandler = ^(BOOL success, NSError * error){ // nothing to do... }; } [self yf_fetchPatchInfo: pathInfoUrlStr completionHandler:^(NSDictionary (YES,nil); return; } [self yf_downloadFileFrom:urlStr completionHandler completionHandler) { completionHandler = ^(BOOL success, NSError * error){ // nothing

    936100发布于 2018-01-03
  • 来自专栏DannyHoo的专栏

    iOS开发中的WKWebView与JS的交互

    webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler :(void (^)(void))completionHandler{     completionHandler(); NSLog(@"3-----%@",message); } 输出的message :(void (^)(BOOL result))completionHandler{     completionHandler(YES); NSLog(@"-----%@",message); NSString *)prompt defaultText:(nullableNSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame completionHandler :(void (^)(NSString *__nullable result))completionHandler{     completionHandler(@"http"); NSLog(@

    2.8K20发布于 2018-09-13
  • 来自专栏iOSer成长记录

    AFNetworking 源码阅读(v3.2.1)

    NSURLSessionDataDelegate URLSession:dataTask:didReceiveResponse:completionHandler: URLSession:dataTask :(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler { // 创建代理 = completionHandler; // 任务描述 dataTask.taskDescription = self.taskDescriptionForSessionTasks; : dispatch_get_main_queue(), ^{ if (self.completionHandler) { self.completionHandler : dispatch_get_main_queue(), ^{ if (self.completionHandler) { self.completionHandler

    2.5K20发布于 2018-07-05
  • 来自专栏iOS技术杂谈

    iOS网络——AFNetworking AFURLSessionManager源码解析

    : dispatch_get_main_queue(), ^{ if (self.completionHandler) { self.completionHandler : dispatch_get_main_queue(), ^{ if (self.completionHandler) { self.completionHandler :(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler { return [self dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:completionHandler :completionHandler]; return uploadTask; } //同上 - (NSURLSessionUploadTask *)uploadTaskWithRequest

    4.8K70发布于 2018-04-10
  • 来自专栏Cordova封装H5 APP

    wkwebview加载完成_【Swift】WKWebView与JS的交互使用

    WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler , initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (String?) evaluateJavaScript("testInput('123')", completionHandler: { (data , error) in evaluateJavaScript("testObject('xjf',26)", completionHandler: { (data, err) in print("(String , initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (String?)

    6.6K00编辑于 2022-03-08
  • 来自专栏国内互联网大数据

    如何利用RestKit和ObjectiveC采集搜狐音频

    )downloadAudioWithURLString:(NSString *)urlString completionHandler:(void (^)(NSURL *filePath, NSError *error))completionHandler {// 1. 检查是否有错误if (error) {completionHandler(nil, error);return;}// 9. 调用completionHandler回调,传入文件路径和错误信息completionHandler(filePath, nil);}];}];}// 12. 如果请求成功,则将音频数据保存到文件中,并调用`completionHandler`回调,传入文件路径和错误信息。

    31220编辑于 2023-10-24
  • 来自专栏我杨某人的青春满是悔恨

    Kingfisher源码阅读(三)

    , completionHandler: CompletionHandler? > () in completionHandler? options.cacheMemoryOnly, completionHandler: nil) } completionHandler Not start working and early return. guard let completionHandler = completionHandler else { return = completionHandler { completionHandler() } }) 缓存模块的主要内容就这些了,其他还有一些辅助方法像计算缓存尺寸啊、图片的排序啊、把图片

    93640发布于 2018-09-10
领券