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