使用Task.all的示例

时间:2015-03-30 15:25:05

标签: swift

我使用swifttask,但我需要一个如何使用Task.all()的示例

我有:

let t1 = Task<String, PFObject, NSError> {
    progress, fulfill, reject, configure in
    let (obj, error) = getPFObject() // placeholder for my code
    if ... {
        fulfill(obj)
    } else {
        reject(error)
    }
}

let t2 = Task<String, [PFObject], NSError> {
    ... code to retrieve array of PFObject
    ... fulfill or reject
}

Task.all([t1,t2]).progress {
    oldProgress, newProgress in
    println("When is this line executed?")
}.success { value -> Void in
    println("Done successfully")
}.failure { ... in
    println(errorInfo)
}

如何声明以下失败{... 何时做&#34;该行何时执行&#34;输出

1 个答案:

答案 0 :(得分:1)

问题是我对t1和t2的定义。

在Swift / SwiftTask中,它们必须相同。 将t1更改为:

let t1 = Task<String, [PFObject], NSError> {

所以它也像t2一样处理PFObject数组。这删除了关于.failure的Xcode错误。