相关疑难解决方法(0)

使用Alamofire和SwiftyJson从函数返回值

我有一个应用程序,它返回一个信息菜单(基本上是菜单,menu_headers和items).我想要这样的东西:

EKMenu.getMenu(menu_id: Int)
Run Code Online (Sandbox Code Playgroud)

这会返回一个菜单,但我想我需要一个完成处理程序.

我目前有:

class func getMenu(menu_id: Int){
//class func getMenu(menu_id: Int, completionHandler:(NSArray -> Void)){

  let url="https://www.example.com/arc/v1/api/menus/\(menu_id)/mobile"
  Alamofire.request(.GET, url).responseJSON() {
    (_, _, data, _) in
    println("within menu request")
    var json=JSON(data!)
    var menu=EKMenu()
    menu.name=json["menu"]["name"].stringValue
    for (key, subJson) in json["menu"]["menu_headers"]{
      EKMenu.processMenuHeaders(subJson)
    }
    // how would we return a value here ?????
  }
}

  class func processMenuHeaders(menu_header: JSON){
    let mh_name=menu_header["name"].stringValue
    println("mh_name: \(mh_name)")
    for (key, subJson) in menu_header["menu_headers"]{
      EKMenu.processMenuHeaders(subJson)
    }
  }
Run Code Online (Sandbox Code Playgroud)

但是我怎么在这里回复一些东西呢?我99%肯定它是某种类型的完成处理程序但是,作为Swift和Alamofire的新手,我有点迷失.我已经看到我无法在Swift中返回Alamofire的值,但是知道其中一些很快就会过时(即Swift 1.1)

swift alamofire swifty-json

3
推荐指数
1
解决办法
967
查看次数

字典不能转换为Void

大家好,我一直在网上搜索没有太多运气,但我正试图绕过Alamofires异步性质.我试图将JSON响应作为字典返回,但Xcode给了我"字典不能转换为'Void'"

func homePageDetails(userName:String) -> (Dictionary<String,AnyObject>){
    let username = userName
    let hompePageDetails = Alamofire.request(.GET, "http://example.com/API/Bunch/GetHomePageDetails/\(username)/").responseJSON{(request, response, JSON, error) in
    print(JSON)
    var test = JSON as Dictionary<String,AnyObject>
    return test
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

ios swift alamofire

2
推荐指数
1
解决办法
2477
查看次数

标签 统计

alamofire ×2

swift ×2

ios ×1

swifty-json ×1