AFNetworking 缺少 setCompletionBlock ios swift

AFNetworking missing setCompletionBlock ios swift

我正在尝试从 url 下载 pdf 文件并取得进展。一切都好。但是我找不到setCompletionBlock,为什么? 这是我的工作代码:

println("progress: \(0.0)")

    let request: NSURLRequest = NSURLRequest(URL: NSURL(string: document.link)!)
    let operation: AFURLConnectionOperation = AFHTTPRequestOperation(request: request)
    let paths: NSArray = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    let filePath: NSString = paths.objectAtIndex(0).stringByAppendingPathComponent("pdf_\(document.id).pdf")
    operation.outputStream = NSOutputStream(toFileAtPath: filePath, append: false)

    operation.setDownloadProgressBlock({(bytesRead, totalBytesRead, totalBytesExpectedToRead) -> Void in

        var total: CGFloat = CGFloat(totalBytesRead) / CGFloat(totalBytesExpectedToRead)
        println("progress: \(total)")


    })

    //operation.setCompletionBlock ... can't found this block?!

    operation.start()

您正在将 AFHTTPRequestOperation 转换为 AFURLConnectionOperation:

let operation: AFURLConnectionOperation = AFHTTPRequestOperation(request: request)

但是 setCompletionBlockWithSuccess 是在 AFHTTPRequestOperation 中定义的,而不是 AFURLConnectionOperation

相反,让 operation 成为 AFHTTPRequestOperation:

let operation = AFHTTPRequestOperation(request: request)

然后就可以识别setCompletionBlockWithSuccess成功了。