Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift2关闭,抛出_Ios_Macos_Swift_Swift2 - Fatal编程技术网

Ios Swift2关闭,抛出

Ios Swift2关闭,抛出,ios,macos,swift,swift2,Ios,Macos,Swift,Swift2,我试图创建一个可以抛出的闭包,并将其作为参数传递给另一个函数。例如: extension NSManagedObjectContext { /// The same as performBlockAndWait, except it can handle closures that throw. func performBlockAndWaitOrThrow(block: (() -> throws Void)) throws { // ... try block

我试图创建一个可以抛出的闭包,并将其作为参数传递给另一个函数。例如:

extension NSManagedObjectContext {

  /// The same as performBlockAndWait, except it can handle closures that throw.
  func performBlockAndWaitOrThrow(block: (() -> throws Void)) throws {
    // ...
    try block()
  }
}
注意| block |参数是一个可以抛出的闭包

然而,这并不能编译。有什么方法可以做到这一点吗?

throws关键字应该在箭头之前。这包括:

extension NSManagedObjectContext {

    /// The same as performBlockAndWait, except it can handle closures that throw.
    func performBlockAndWaitOrThrow(block: (() throws -> Void)) throws {
        // ...
        try block()
    }
}

德普,我盯着这个代码看太久了。谢谢这实际上除了运行抛出闭包之外什么都不做…?问题是关于传递抛出闭包的语法,所以这就是所有的答案。