gpt4 book ai didi

ios - Twitter profileImageURL 间歇性不加载(iOS Swift)

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

我正在使用 Twitters API 获取用户详细信息,包括他们的个人资料图片 (TWTRUser.profileImageURL);它有效,但我发现通常不会加载个人资料图片。起初我以为我这边的 iPhone 连接速度慢/连接不好,但即使我的连接似乎很好,它似乎也在发生。我认为这可能是 Twitter 结束时的快速超时,但不能很好地诊断问题。

我正在考虑通过 Core Data 将最后一个已知图像缓存到数据库中作为解决方法,但在我这样做之前,我想我会问我是否正确地做了所有事情/是否遗漏了什么。这是我的 Swift 2 代码:

import TwitterKit

class Session: NSObject {
class var sharedInstance: Session {
struct Singleton {
static let instance = Session()
}
return Singleton.instance
}

var userId: String?
var userName: String?
var userScreenName: String?
var userImage: NSData?

override init() {
super.init()
self.loadTwitterAccountDetails()
}

func loadTwitterAccountDetails(){
if let session = Twitter.sharedInstance().sessionStore.session() {
let client = TWTRAPIClient()

client.loadUserWithID(session.userID) { (user, error) -> Void in
if let user = user {
self.userId = "Twitter\(user.userID)"
self.userName = user.name
self.userScreenName = user.screenName
let userImageURL = NSURL(string: user.profileImageURL)
self.userImage = NSData(contentsOfURL: userImageURL!)
}
}
}
}
}

有什么想法吗?有人遇到过同样的问题吗?

最佳答案

func loadTwitterAccountDetails(){
if let session = Twitter.sharedInstance().sessionStore.session() {
let client = TWTRAPIClient()

client.loadUserWithID(session.userID) { (user, error) -> Void in
if let user = user {[week self]
dispatch_async(dispatch_get_main_queue()) {
self.userId = "Twitter\(user.userID)"
self.userName = user.name
self.userScreenName = user.screenName
if let userImageURL = NSURL(string: user.profileImageURL) {
self.userImage = NSData(contentsOfURL: userImageURL)
}
}
}
}
}
}

关于ios - Twitter profileImageURL 间歇性不加载(iOS Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33449341/

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