2017-01-07 32 views
0

將Swift 2項目升級到Swift 3後,我與Parse的BFTask/PFFile API糾纏在一起。在Swift3中並行保存多個PFFiles

我想並行保存一些Parse文件。到目前爲止,我使用了BFTask.forCompletionOfAllTasks,它通過了由PFFile.saveInBackground生成的BFTask的數組。遷移到斯威夫特3之前,這個偉大的工作:

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

然而,斯威夫特3這不工作了:現在BFTask.forCompletionOfAllTasks返回其不受forCompletionOfAllTasks它要求的<BFTask<AnyObject>陣列接受了BFTask<NSNumber>

對此的任何幫助表示讚賞。如何將BFTask<NSNumber>轉換爲<BFTask<AnyObject> - 或者有另一種方法可以解決此問題嗎?

回答

0

解決了力鑄造保存圖像任務到BFTask<AnyObject>

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

現在tasks可以傳遞給BFTask<AnyObject>.forCompletionOfAllTasksWithResults