gpt4 book ai didi

ios - 使用 swift 从 Facebook SDK GraphRequest 获取进度

转载 作者:行者123 更新时间:2023-11-28 06:38:54 25 4
gpt4 key购买 nike

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

    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 提供了一个 FBSDKGraphRequestConnectionDelegate 以及 requestConnection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite: 中的进度内容但我不明白,如何在我的一小段代码中实现这些东西。有人可以帮忙吗?

最佳答案

我其他人也有同样的问题......谷歌没有找到任何用 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) 像这样在您的类中实现委托(delegate):

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
}

关于ios - 使用 swift 从 Facebook SDK GraphRequest 获取进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com