1

在将 Swift 2 项目升级到 Swift 3 后,我在Parse的BFTask/ API 上遇到了困难。PFFile

我想并行保存许多 Parse 文件。到目前为止,我使用which 传递了一个由s 生成BFTask.forCompletionOfAllTasks的数组。在迁移到 Swift 3 之前,这很好用:BFTaskPFFile.saveInBackground

let files: [PFFile] = ...
let tasks: [BFTask] = files.map { $0.saveInBackground() }
BFTask(forCompletionOfAllTasks: tasks)
  .continueWithSuccessBlock { ... }

但是,在 Swift 3 中,这不再起作用:BFTask.forCompletionOfAllTasks现在返回 a BFTask<NSNumber>which 不接受forCompletionOfAllTaskswhich 需要一个<BFTask<AnyObject>.

对此的任何帮助表示赞赏。我怎样才能转换BFTask<NSNumber><BFTask<AnyObject>- 或者有其他方法可以解决这个问题吗?

4

1 回答 1

1

通过将图像保存任务强制转换为BFTask<AnyObject>

let tasks = files.map { $0.saveInBackground() as! BFTask<AnyObject> }

现在tasks可以传递给BFTask<AnyObject>.forCompletionOfAllTasksWithResults.

于 2017-01-08T11:11:19.730 回答