【问题标题】:Get progress from Facebook SDK GraphRequest with swift使用 swift 从 Facebook SDK GraphRequest 获取进度
【发布时间】:2016-07-20 13:29:00
【问题描述】:

我用这段代码上传了一张图片:

    FBSDKGraphRequest(graphPath: "me/photos", parameters: params as [NSObject : AnyObject], HTTPMethod: "POST").startWithCompletionHandler({ (connection, result, error) -> Void in

        if (error != nil) {
            print ("failed")
        }
        else {
            print ("success")
        }

    })

到目前为止它工作正常,但上传可能需要一段时间,我想通知用户当前的进度。有什么办法可以得到目前的进展吗?正如我在 SDK 文档中看到的那样,有一个 FBSDKGraphRequestConnection 提供了一个 FBSDKGraphRequestConnectionDelegaterequestConnection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite: 中的进度内容,但我无法理解如何在我的一小段代码中实现这些内容。有人可以帮忙吗?

【问题讨论】:

    标签: ios swift facebook facebook-graph-api facebook-ios-sdk


    【解决方案1】:

    我其他人也有同样的问题……谷歌找不到任何用 swift 编写的东西。这是我的工作解决方案:

    1) 从NSObjectFBSDKGraphRequestConnectionDelegate 派生您的课程

    2) 像这样编写您的上传过程:

        let uploadRequest = FBSDKGraphRequest(graphPath: "me/photos", parameters: params as [NSObject : AnyObject], HTTPMethod: "POST")
        let connection = FBSDKGraphRequestConnection()
        connection.delegate = self
        connection.addRequest(uploadRequest, completionHandler: {
            (connection, result, error) -> Void in
    
            if (error != nil) {
                // error handling
            }
            else {
                // success handling
            }
        })
        connection.start()
    

    3) 像这样在你的类中实现委托:

    func requestConnection(connection:FBSDKGraphRequestConnection, didSendBodyData bytesWritten:NSInteger, totalBytesWritten:NSInteger, totalBytesExpectedToWrite:NSInteger) {
        print("upload percent reached: " + String(Double(totalBytesWritten) / Double(totalBytesExpectedToWrite)))
    
        // handle your UI here to show the current status
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多