在我的swift iOS应用程序中,我安装了bolt框架,在桥接头文件中我得到了这个
#import <FacebookSDK/FacebookSDK.h>
#import <Parse/Parse.h>
#import <ParseFacebookUtils/PFFacebookUtils.h>
#import <Bolts/Bolts.h>
所以它应该有效。 但是,我无法访问此框架中的任何方法,例如findAsync或continueWithSuccessBlock。他们不被承认。 我错过了这一点吗?如何识别螺栓方法框架?
答案 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。