【发布时间】:2016-10-03 10:17:59
【问题描述】:
我无法理解Alamofire 中的错误,谁能解释一下这个问题。
元组类型的值 '(NSURLRequest?, NSHTTPURLResponse?, 结果)'(又名'(可选, 可选,结果)') 没有成员 “结果”
import UIKit
import Alamofire
import SwiftyJSON
class ViewController: UITableViewController {
var dataArray = Array<JSON>()
//var dataArray :NSMutableArray=[]
//????
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Alamofire.request(.GET, "http://104.131.162.14:3033/api/ios/detail").validate().responseJSON { response in
switch response.result {
case .Success:
if let value = response.result.value {
let json = JSON(value)
//print("JSON: \(json)")
var trafficJson = json["traffic_partners"]
trafficJson["type"] = "Traffic"
self.dataArray.append(trafficJson)
var newsJson = json["news"]
newsJson["type"] = "News"
self.dataArray.append(newsJson)
var categoryJson = json["category"]
categoryJson["type"] = "Category"
self.dataArray.append(categoryJson)
var topFreeApps = json["top_free_apps"]
topFreeApps["type"] = "TopApps"
self.dataArray.append(topFreeApps)
var topSites = json["top_sites"]
topSites["type"] = "TopSites"
self.dataArray.append(topSites)
var trendingVideos = json["tranding_video"]
trendingVideos["type"] = "TrendingVideos"
self.dataArray.append(trendingVideos)
var sports = json["sports"]
sports["type"] = "Sports"
self.dataArray.append(sports)
var jokes = json["jokes"]
jokes["type"] = "Jokes"
self.dataArray.append(jokes)
//print(self.dataArray[0]["detail"][0].object)
//print(self.dataArray[2]["detail"].object)
self.tableView.reloadData()
}
case .Failure(let error):
print(error)
}
}
//tableView.backgroundColor = UIColor.blackColor()
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if (dataArray[indexPath.row]["type"].string == "Traffic") {
return 185
}
else if (dataArray[indexPath.row]["type"].string == "News") {
return 290
}
else if (dataArray[indexPath.row]["type"].string == "Category") {
return 100.0
}
else if (dataArray[indexPath.row]["type"].string == "TopApps") {
return 180
}
else if (dataArray[indexPath.row]["type"].string == "TopSites") {
return 240
}
else if (dataArray[indexPath.row]["type"].string == "TrendingVideos") {
return 290
}
else if (dataArray[indexPath.row]["type"].string == "Sports") {
return 290
}
else if (dataArray[indexPath.row]["type"].string == "Jokes") {
return 320.0
}
else {
return 600
}
//return UITableViewAutomaticDimension
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray.count
}
【问题讨论】:
-
如果你使用 swift 3,你必须使用 Alamofire 4.0 及更高版本
-
你使用的是什么版本的 Swift 和 Alamofire?
-
Alamofire 在“2.0.2”Swift 2
-
您能解决问题吗?
标签: ios json swift xcode alamofire