草庐IT

AlamoFire

全部标签

ios - Alamofire 下载进度 totalBytesExpectedToRead 始终为 -1

我正在使用Alamofire,发现通过下载任务和进度,我得到了它读取的正确字节数和当前读取的总字节数,但totalBytesExpectedToRead始终为-1。即使在测试文件中,断言也说这个值应该总是-1,为什么?下载完成没有问题,但我想在下载PDF时显示进度条。难不成这部分库还没做完?提前致谢! 最佳答案 totalBytesExpectedToRead为您提供从服务器端接收到的内容长度。当服务器未在响应header中提供“Content-Length”值时,它将始终为-1。首先向网络服务和网络开发团队确认他们应该为您提供“内

ios - 有进度的 Alamofire POST 请求

我正在使用Alamofire执行POST请求。由于此POST请求可能需要一段时间,我想跟踪进度并将其显示为ProgressView。Alamofire.request(.POST,ApiLink.create_post,parameters:parameters,encoding:.JSON).progress{(bytesRead,totalBytesRead,totalBytesExpectedToRead)->Voidinprintln("ENTER.PROGRESSS")println("\(totalBytesRead)of\(totalBytesExpectedToRead

ios - 类型与 Alamofire 不符合协议(protocol) 'URLRequestConvertible'

代码如下:enumRouter:URLRequestConvertible{//Error:Type'Five100px.Router'doesnotconformtoprotocol'URLRequestConvertible'staticletbaseURLString="https://api.500px.com/v1"staticletconsumerKey="MY_KEY"casePopularPhotos(Int)casePhotoInfo(Int,ImageSize)caseComments(Int,Int)varURLRequest:NSURLRequest{let(p

json - 使用 Swift 2 的 Alamofire POST 请求

我正在尝试在Alamofire中发出POST请求以返回一个JSON对象。此代码在Swift1中有效,但在Swift2中出现无效参数问题:Tupletypes'(NSURLRequest?,NSHTTPURLResponse?,Result)'(aka'(Optional,Optional,Result)')and'(_,_,_,_)'haveadifferentnumberofelements(3vs.4)似乎删除了错误参数,但我在函数内部使用错误参数来检查错误,那么如果没有错误参数,我该怎么做呢?这是我的POST请求代码:letresponse=Alamofire.request(.

swift - Alamofire:网络错误与无效状态代码?

使用Alamofire4/Swift3如何区分由于以下原因而失败的请求:网络连接(主机宕机,无法连接到主机)对比无效的服务器HTTP响应代码(即:499)导致Alamofire请求因调用validate()而失败?代码:sessionManager.request(url,method:.post,parameters:dict,encoding:JSONEncoding.default).validate()//Validatestatuscode.responseData{responseinifresponse.result.isFailure{//??NETWORKERRORO

Swift Alamofire 向所有请求添加自定义 header

我尝试用这个添加自定义header:letmanager=Manager.sharedInstancemanager.session.configuration.HTTPAdditionalHeaders=["Authorization":"Token\(token)"]但是它不起作用,我做错了什么?我需要在登录后添加它,以便所有请求都使用该header。 最佳答案 一种方法是使用在Alamofireadvancedusagedocumentation上演示的RequestAdapter.

ios - 等待异步请求结果

我想以某种方式异步验证ABPadLockScreen中的引脚,因为引脚未保存在设备上。我将Alamofire与PromiseKit一起用于http请求以实现promise。我曾尝试使用AwaitKit但问题是我陷入了僵局。我也尝试过使用semaphore,但结果是一样的。由于我无法更改ABPadLock方法来适应完成处理程序之类的东西,我需要一些解决方案,它是否阻塞主线程并不重要,只要它能工作即可。Alamofirerequestmethod:publicfuncloginAsync(pinCode:String?,apiPath:String?)->Promise{returnPro

ios - AlamofireImage 磁盘缓存不工作

我想使用AlamofireImage从url下载图像,然后将其缓存在设备磁盘空间中。我阅读了几篇关于此的文章,发现AlamofireImage在ImageDownloader的帮助下支持这一点。类(class)。给出了最有趣的信息inthisSOanswer所以我尝试为ImageDownloader设置一个自定义的NSURLCache,这样它就可以将图像直接缓存到磁盘上。我通过将内存容量设置为0来做到这一点。然后我使用这个自定义ImageDownloader下载图像。我为磁盘路径指定的文件夹是在磁盘上创建的,但不幸的是它仍然是空的,并且图像没有以任何方式缓存。**编辑:**请务必注意,

swift - 设置 Alamofire 自定义目标文件名而不是使用 suggestedDownloadDestination

我的表格View中有许多发票文件列表以及每个单元格中的许多下载按钮。当我单击其中一个时,它将下载发票文件。但是,问题是服务器响应建议的文件名是我下载的每个文件都有“invoice.pdf”。所以,我需要在下载文件后保存到文档之前手动编辑文件名。那么,如何在成功下载后手动编辑文件名并将其保存在文档中作为临时url,而不使用Alamofire.Request.suggestedDownloadDestination。这是我的下载功能。funcdownloadInvoice(invoice:Invoice,completionHandler:(Double?,NSError?)->Void)

methods - 如何在 Swift 的方法中将字典作为参数传递?

我在我的代码中创建了以下方法:funcSignIn(objDictionary:Dictionary){//Bodyofmethod}我需要在下面定义的这个方法中将以下字典作为参数传递:letobjSignInDictionary:Dictionary=["email":emailTextField.text,"password":passwordTextField.text]如何在上述方法中将此字典作为参数传递?需要注意的是,该方法在另一个类中,我通过创建其对象来调用该方法,如下所示:letobj=Services()SignIn在Services.swift类中定义所以我试着这样调