У меня есть приложение, которое возвращает меню информации (в основном меню, menu_headers и элементы). Я хотел бы иметь что-то вроде этого:
EKMenu.getMenu(menu_id: Int)
это вернет меню, но я думаю, что здесь мне понадобится обработчик завершения.
В настоящее время у меня есть:
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)
}
}
но как мне на самом деле что-то вернуть здесь? Я на 99% уверен, что это какой-то обработчик завершения, но, будучи новичком в Swift и Alamofire, я немного растерялся. Я видел и не буду иметь возможность возвращать значение с помощью Alamofire в Swift, но знайте, что некоторые из них очень быстро устаревают (например, Swift 1.1)