gpt4 book ai didi

ios - 如何在Bolts iOS框架的BFTask中将结果设置为数组?

转载 作者:行者123 更新时间:2023-11-29 12:13:24 25 4
gpt4 key购买 nike

我有一个方法,我想在 Alamofire 回调成功时返回结构数组。

func getPopularMedias() -> BFTask {
let instaUrl: String = "https://api.instagram.com/v1/media/popular"
let user: PFUser = currentUser()
let accessToken = user.objectForKey("accessToken") as! String
var medias: [Media] = []

let task = BFTaskCompletionSource()

Alamofire.request(.GET, instaUrl, parameters: ["access_token": accessToken])
.responseJSON { request, response, data in
var json = JSON(data.value!)

for(_, subJson): (String, JSON) in json["data"] {
let image: UIImage = NSURL(string: subJson["images"]["low_resolution"]["url"].stringValue)
.flatMap { NSData(contentsOfURL: $0) }
.flatMap { UIImage(data: $0) }!

let profileImage: UIImage = NSURL(string: subJson["user"]["profile_picture"].stringValue)
.flatMap { NSData(contentsOfURL: $0) }
.flatMap { UIImage(data: $0) }!

medias.append(Media(name: subJson["user"]["full_name"].stringValue, image: image, profileImage: profileImage))
}
task.setResult(medias)
}
return task.task
}

在设置 task.setResult 时,我收到一个错误,名为 cannot convert value of [Media] to expected argument AnyObject!

目前我正在 XCode 7.0 GM 版本和 swift 2 上运行它。

最佳答案

这里的问题是 task.setResult 采用 AnyObject!,它需要类或类数组。结构不属于这一类(它实际上可以与 Any 指示符一起使用)。您可以将 Media 结构转换为一个类,或将其封装在一个类中。

关于ios - 如何在Bolts iOS框架的BFTask中将结果设置为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636575/

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