螺栓异步框架方法无法识别

时间:2015-02-24 10:45:48

标签: ios swift parse-platform bolts-framework

在我的swift iOS应用程序中,我安装了bolt框架,在桥接头文件中我得到了这个

#import <FacebookSDK/FacebookSDK.h>
#import <Parse/Parse.h>
#import <ParseFacebookUtils/PFFacebookUtils.h>
#import <Bolts/Bolts.h>

所以它应该有效。 但是,我无法访问此框架中的任何方法,例如findAsync或continueWithSuccessBlock。他们不被承认。 我错过了这一点吗?如何识别螺栓方法框架?

2 个答案:

答案 0 :(得分:1)

Bolts documentation表示你需要实现findAsync:你自己。

  

对于本文档中的示例,假设某些版本存在异步版本   常见的Parse方法,名为saveAsync:和findAsync:返回一个   任务。在后面的部分中,我们将展示如何定义这些功能   自己。

您可以在these examples之后创建自己的“异步”功能。请注意本节的最后一句:

  

创建saveAsync:,findAsync:或deleteAsync:

同样容易

这是findAsync的实现:

func findAsync(query:PFQuery) -> BFTask {
    var task = BFTaskCompletionSource()
    query.findObjectsInBackgroundWithBlock {
        (objects, error) -> Void in
        if error == nil {
            task.setResult(objects)
        } else {
            task.setError(error)
        }
    }
    return task.task
}

答案 1 :(得分:0)

我随机发现所有记录的语法都不同。 文档说明要在查询时访问BFTask,您必须输入:

var query = PFQuery(className:"Student")
findAsync(query).continueWithSuccessBlock

事实证明&#34; findAsync&#34;我的版本不存在?! 相反,我可以通过以下方式访问它:

query.findObjectsinBackground()

这会返回一个BFTask,然后我可以访问其他Bolts代码,例如continueWithBlock。