2016-10-03 3 views
0

Alamofireのエラーを理解できません。誰でも問題を説明できます。タプルタイプ '(NSURLRequest?NSHTTPURLResponse ?, 結果)'(別名 '(オプション、 オプション、結果)')の値は全く部材 '結果'JSON Alamofire POSTリクエストエラー - タプルタイプの値

screenshot

を有していない

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 
} 
+0

あなたがswift 3を使用する場合は、Alamofireバージョン4.0以上を使用する必要があります –

+0

SwiftとAlamofireのどのバージョンを使用していますか? – Rob

+0

Alamofire at "2.0.2" Swift 2 –

答えて

0

これが私の作品:

switch response.result { 
case .Success(let JSON): 
    print("Success with JSON: \(JSON)") 
+0

Alamofire 4では、それは 'case .success(let value):print(value)'です。 – Rob

関連する問題