如何在函数中包装JSON Handler

时间:2016-02-08 07:33:30

标签: arrays json swift alamofire

所以我使用此功能在其他课程中传递JSON值(任意对象),但它充满了问题,所以我无法使其正常工作

func getSWPeopleAPI() -> NSMutableArray {
    var JSON2: NSMutableArray
    Alamofire.request(.GET, "http://swapi.co/api/people/1").responseJSON { Response in
        print(Response.request)
        print(Response.response)
        print(Response.data)
        print(Response.result)
        if let JSON = Response.result.value{
            JSON2 = JSON as! NSMutableArray
        }
        else{
            return
        }

    }
    return JSON2
}

您是否有建议如何将其传递给我的ApiManagerClass以及在处理JSON时最适合使用哪种数据类型?

1 个答案:

答案 0 :(得分:3)

你做错了! JSON的类型必须为NSDictionary

func getSWPeopleAPI(strUrl: String, completionHandler: (NSDictionary?, NSError?) -> ()) -> (){

    Alamofire.request(.GET, strUrl).responseJSON { response in

        switch response.result {

        case .Success(let data):
            let json = data as? NSDictionary
            completionHandler(json, nil)
        case .Failure(let error):
            completionHandler(nil, error)
        }
    }

这是带有完成处理程序和指定错误的代码!

  

如何使用:

postWebserviceWithURL(Url!) { (responseData, error) -> () in

   //Code
}