I'm having trouble waiting **synchronously**
for an async
call to the 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 is my own function which I know always calls the specified handler.
Please help!
Never mind, I solved by ditching the Facebook SDK and using contentsOfURL function instead because it's synchronous.