Im Moment habe ich eine Funktion, die JSON-Daten zurückgibt, in diesem JSON-Daten ein Zugriffstoken (Funktion verwendet sowohl AlamoFire & SwiftyJSON):In Swift, wie eine Funktion zu schreiben, die eine andere Funktion auslöst, sobald es abgeschlossen ist?
func getAccessToken (username: String, password: String) {
//code//
Alamofire.request(.POST, "\(baseURL)/oauth2/token", parameters: parameters, encoding: .JSON, headers: headers)
.responseJSON { response in
if((response.result.value) != nil) {
let swiftyJsonVar = JSON(response.result.value!)
self.accessToken = swiftyJsonVar["access_token"].stringValue
}
}
}
Sobald ich das Zugriffstoken erhalten möchte ich eine andere Funktion sein mit dem Zugriffstoken ausgelöst, die gerade gekommen waren:
func createNewMember (username: String, password: String, accessToken: String) {
//code//
}
ich dachte an einen Verschluss auf der getAccessToken
Funktion, die das Zugriffstoken zurück und löst die createNewMember
Funktion ist aber nicht ganz sicher, wie es einzurichten. Jede Hilfe wird geschätzt!
können Sie Ihren Code allgemeinere machen? Und ist der erste Snipper eine Methode? Wenn dies der Fall ist, möchten Sie möglicherweise eine Klasse für den Kontext einschließen. –
Sie können eine Schließung verwenden, wenn Sie die beiden Codeabschnitte oder NSNotification für eine lose Kopplung eng koppeln möchten. – Paulw11
Warum implementieren Sie nicht einfach 'createNewMember' als eine normale Methode und rufen Sie sie aus dem' .responseJSON' Closure, den Sie bereits haben, auf? –