Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook/Swift:调试器跳过行_Facebook_Swift_Facebook Graph Api - Fatal编程技术网

Facebook/Swift:调试器跳过行

Facebook/Swift:调试器跳过行,facebook,swift,facebook-graph-api,Facebook,Swift,Facebook Graph Api,我试图在Swift中执行FBSDKGraphRequest,并在其中运行一些代码。问题是在下面的代码中,“Boston”是在“numbersArray:\(numbersArray)”之前打印的,这对我来说没有意义。graphRequest函数不应该在随后的任何操作之前完成执行吗?如何解决此问题 class Test { class func test() { let graphRequest : FBSDKGraphRequest = FBSDKGraphReque

我试图在Swift中执行FBSDKGraphRequest,并在其中运行一些代码。问题是在下面的代码中,
“Boston”
是在
“numbersArray:\(numbersArray)”
之前打印的,这对我来说没有意义。
graphRequest
函数不应该在随后的任何操作之前完成执行吗?如何解决此问题

class Test {

    class func test() {

        let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me/", parameters: nil)
        graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in

            var array = ["1", "2", "3"]
            var numbersArray = [String]()

            for number in array {
                numbersArray.append(number)
            }

            println("numbersArray: \(numbersArray)")

        })

        println("Boston")

    }
}

这是因为在graphRequest.startWithCompletionHandler中,您设置了一个闭包,该闭包将在请求完成时异步调用


虽然可以在同步调用中以某种方式转换该调用,但这没有意义,因为这是预期的行为,否则线程(可能是主线程)将被卡住,直到调用完成。

这是有意义的。但这让我不得不问另一个问题。如果您能看一下,我将不胜感激: