gpt4 book ai didi

swift - Alamofire 和 SwiftyJSON 错误

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

我已经用 Cocoapods 安装了 Alamofire 和 SwiftyJSON。独立地,每个人都工作得很好。但是,当我尝试将两者混合时,出现错误。

在使用 Alamofire 之前,我使用 NSURLConnection 下载数据。当 connectionHandler 完成时,我使用 SwiftyJSON 创建了一个 JSON 对象。

        let json = JSON(data: self.downloadedData!)

这没有任何问题。

为了让事情变得更干净,我想使用 Alamofire。当我使用 Alamofire 时,我尝试使用 SwiftyJSON 创建一个 JSON 对象。

Alamofire.request(.GET, "http://162.208.56.92/json_service.php").responseJSON()
{
(_, _, JSON, _) in

let json = JSON(data: JSON)
}

当我这样做时,出现以下错误。

Cannot invoke 'JSON' with an argument list of type '(data: AnyObject?)'

由于 JSON 采用 NSData 参数,因此我尝试了以下操作。

Alamofire.request(.GET, "http://162.208.56.92/json_service.php").responseJSON()
{
(_, _, JSON, _) in

let json = JSON(data: JSON as! NSData)
}

这给了我以下错误。

Cannot invoke 'JSON' with an argument list of type '(data: NSData)'

我被难住了。有什么想法吗?

最佳答案

嘿,我正在使用 Alamofire 和 SwiftyJSON 从这里的图像字典中获取 url 我的代码看起来如何

var Photos = [String]() 
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "https://api.500px.com/v1/photos",parameters:["consumer_key":"gRU4LletUCA9RiOQhaJBAt62UyRRYUE6vsIcC7fO"])
.responseJSON { _,_,result in
switch result {
case .Success(let data):
let json = JSON(data)
self.Photos = self.ParseJSON(json)
case .Failure(_, let error):
print("Request failed with error: \(error)")
}
debugPrint(self.Photos)
}

基本上所做的就是发出请求,如果成功,我将数据保存在一个 JSON 对象中,然后我只解析名为 Photos 的数组中的 image_url

这也是我的 ParseJSON 乐趣

func ParseJSON(json:JSON)->[String]
{
//Get Image_URL
var pictures = [String]()
for result in json["photos"].arrayValue{
pictures.append(result["image_url"].stringValue)
}
return pictures
}

我目前正在使用Almaofire 2.1和最新版本的 SwiftyJSON

关于swift - Alamofire 和 SwiftyJSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959246/

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