Ios 为什么我可以找到原始变量的成员而不是指定的变量?

Ios 为什么我可以找到原始变量的成员而不是指定的变量?,ios,facebook,swift,Ios,Facebook,Swift,所以我认识到问题标题有点神秘,但基本上我想知道为什么我不能为result.name和facebookUserData.name获得相同的值?我似乎只能从result.name得到答案,而不能从facebookUserData.name得到答案。我完全搞不懂为什么不 FBRequestConnection.startForMeWithCompletionHandler({(connection: FBRequestConnection!, result: AnyObject!, error: NS

所以我认识到问题标题有点神秘,但基本上我想知道为什么我不能为result.name和facebookUserData.name获得相同的值?我似乎只能从result.name得到答案,而不能从facebookUserData.name得到答案。我完全搞不懂为什么不

FBRequestConnection.startForMeWithCompletionHandler({(connection: FBRequestConnection!, result: AnyObject!, error: NSError!) -> Void in
        if (result? != nil) {
            NSLog("error = \(error)")
            var facebookUserData = result as FBGraphObject
            println(result.name)
        }
        } as FBRequestHandler)

此外,我很好奇如何从代码中“逃脱”,也就是说,如果我想在FBRequestConnection之外使用facebookUserData中保存的值。

要在闭包之外使用数据,而不是将
结果
赋给局部变量,将其分配给属性您在创建facebookUserData后从不引用它。根据swift的优化程度,它可能会立即发布。