Ios 调度组等待未等待

Ios 调度组等待未等待,ios,swift,facebook-graph-api,fbsdk,Ios,Swift,Facebook Graph Api,Fbsdk,我在等待**同步**调用Facebook Graph API时遇到问题 var message: String? = "" var error: ErrorType? let dispatchGroup = dispatch_group_create() dispatch_group_enter(dispatchGroup) FacebookGraphAPI.getPostsWithCompletionHandler("[pageID]", parameters: ["limit": 1])

我在等待
**同步**
调用
Facebook Graph API
时遇到问题

var message: String? = ""
var error: ErrorType?

let dispatchGroup = dispatch_group_create()
dispatch_group_enter(dispatchGroup)

FacebookGraphAPI.getPostsWithCompletionHandler("[pageID]", parameters: ["limit": 1]) {
    (posts, error) in

    if error != nil {
        error = ErrorType.Some
    }

    if posts == nil || posts!.count == 0 || !posts![0].createdTime.isToday {
        error = ErrorType.Some
    }

    if error == nil {
        message = posts![0].message
    }

    dispatch_group_leave(dispatchGroup)
}

dispatch_group_wait(dispatchGroup, DISPATCH_TIME_FOREVER)

if error != nil {
    throw error!
}

return message
getPostsWithCompletionHandler是我自己的函数,我知道它总是调用指定的处理程序


请帮忙

没关系,我通过放弃Facebook SDK并使用contentsOfURL函数来解决,因为它是同步的。

没关系,我通过放弃Facebook SDK并使用contentsOfURL函数来解决,因为它是同步的。

告诉,不要问。执行在完成处理程序中处理返回消息的任务。不要通过等待完成来破坏异步模式。在完成处理程序中处理返回的结果。这对代码的其余部分不起作用。显示干扰异步执行的代码。告诉,不要问。执行在完成处理程序中处理返回消息的任务。不要通过等待完成来破坏异步模式。在完成处理程序中处理返回的结果。这对代码的其余部分不起作用。显示干扰异步执行的代码。