Ich kann mit Alamofire in Swift keinen Wert zurückgeben

Der aktuelle Code, den ich habe, scheint nichts zurückzugeben. Ich kann nicht herausfinden, was das Problem verursacht.

func getQuests(category: NSString, count: Int) -> NSArray {
    var quests = NSArray()

    Alamofire.request(.GET, apiUrlString, parameters: ["category": category, "count": count])
        .responseJSON { (request, response, json, error) in
            dispatch_async(dispatch_get_main_queue(), {
                quests = json as NSArray
            })
    }

    println(quests)  #=> ()

    return quests
}

Weiß jemand, wie man das Problem löst, das ich habe?

[Aktualisieren: Dies ist der Status.

Bitte schauen Sie sich die fünfte und achte Reihe an. Ich kann die Zuordnung zu Quests nicht bearbeiten.

var quests = NSArray()

getQuests("normal", count: 30, completionHandler: {
    quests in
        self.quests = quests
    })

println(self.quests)  #=> ()

func getQuests(category: NSString, count: Int, completionHandler: (NSArray -> Void)) {
    var quests = NSArray()

    Alamofire.request(.GET, apiUrlString, parameters: ["category": category, "count": count])
        .responseJSON { (request, response, json, error) in
            dispatch_async(dispatch_get_main_queue(), {
                quests = json as NSArray
                completionHandler(quests)
            })
    }
}

Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage