var first_name = ""
func problemFunc() {
FBRequestConnection.startForMeWithCompletionHandler { (connection: FBRequestConnection!, result: AnyObject!, error: NSError!) -> Void in
if let fbGraphUserDict = result as? Dictionary<String, AnyObject>{
first_name = fbGraphUserDict["first_name"] as NSString
println(first_name)
}
}
}
PFFacebookUtils.logInWithPermissions(permissions, {
(user: PFUser!, error: NSError!) -> Void in
if user == nil {
NSLog("Uh oh. The user cancelled the Facebook login.")
} else if user.isNew {
NSLog("User signed up and logged in through Facebook!")
} else {
NSLog("User logged in through Facebook!")
problemFunc() // error is here
}
})
Dieser Code befindet sich in einer @Ibaction-Schaltfläche. Ich kann nicht bauen, weil der Aufruf von problemFunc() die Fehlermeldung im Titel dieses Beitrags auslöst. Wenn ich die var-Definition first_name in die problemFunc verschiebe, wird es funktionieren. Aber ich brauche es, weil eine andere Funktion auf ihren Wert zugreifen muss. Ich bin wirklich nicht sicher, was dieses Problem verursacht, wenn Sie eine Ahnung haben, bitte helfen Sie.Kann keine lokale Funktion mit Erfassung von einer anderen lokalen Funktion referenzieren (swift)
Dank benötigen, funktioniert aber aus irgendeinem Grund hatte ich zu entfernen, um: ->() –
Vielen Dank! Gute Idee, dieses hässliche Ding zu vermeiden – iiFreeman