在将Swift 2项目升级到Swift 3之后,我很难使用解析的BFTask/PFFile API。
我想并行保存多个Parse文件。到目前为止,我使用的是BFTask.forCompletionOfAllTasks,它传递了一个由PFFile.saveInBackground生成的BFTask数组。在迁移到Swift 3之前,这非常有效:
let files: [PFFile] = ...
let tasks: [BFTask] = files.map { $0.saveInBackground() }
BFTask(forCompletionOfAllTasks: tasks)
.continueWithSuccessBlock { ... }然而,在Swift 3中,这不再起作用:BFTask.forCompletionOfAllTasks现在返回一个BFTask<NSNumber>,这是forCompletionOfAllTasks不能接受的,因为它需要一个<BFTask<AnyObject>数组。
在这方面的任何帮助都是非常感谢的。如何将BFTask<NSNumber>转换为<BFTask<AnyObject> --或者是否有其他方法来解决此问题?
发布于 2017-01-08 19:11:20
通过强制将图像保存任务转换到BFTask<AnyObject>来解决
let tasks = files.map { $0.saveInBackground() as! BFTask<AnyObject> }
现在可以将tasks传递给BFTask<AnyObject>.forCompletionOfAllTasksWithResults了。
https://stackoverflow.com/questions/41527628
复制相似问题