Also habe ich ein kleines Übungsprogramm geschrieben, das mit Schließungen zu tun hat. Ich versuche besser zu verstehen, wie das asynchrone Konzept funktioniert. Wenn ich versuche, request()
zu nennen, erhalte ich Konvertierungsfehler wie unten zu sehen:Aufruf einer Funktion mit einem TypeAlias als Parameter?
import UIKit
let correctPasscode = "3EyX"
typealias CompletionHandler = (result: AnyObject?, error: String?) -> Void
func request(passcode: String, completionHandler: CompletionHandler) {
sendBackRequest(passcode) {(result, error) -> Void in
if error != nil {
print(error)
}
else {
print(result)
}}
}
func sendBackRequest(passCode: String, completionHandler: CompletionHandler) {
if passCode == correctPasscode {
completionHandler(result: "Correct. Please proceed", error: nil)
} else {
completionHandler(result: nil, error: "There was an error signing in")
}
}
request(correctPasscode, completionHandler: CompletionHandler) // Error happens here
Bitte teilen Sie Ihren Code, kein Bild davon –
Sorry, dass nur die Änderungen vorgenommen. –