将Swift 2项目升级到Swift 3后,我很难使用Parse的BFTask
/ PFFile
API。
我想并行保存一些Parse文件。到目前为止,我使用BFTask.forCompletionOfAllTasks
传递了由BFTask
生成的PFFile.saveInBackground
数组。在迁移到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>
。
对此有任何帮助表示赞赏。如何将{{1}}转换为{{1}} - 还是有另一种方法可以解决此问题?
答案 0 :(得分:0)
通过强制将图像保存任务强制转换为BFTask<AnyObject>
来解决:
let tasks = files.map { $0.saveInBackground() as! BFTask<AnyObject> }
现在tasks
可以传递给BFTask<AnyObject>.forCompletionOfAllTasksWithResults
。